学习java第十天
1.学习内容
其他修饰符
(1)static 静态的,非实例的,类的
静态字段本质特点 :是类的字段,不属于任何一个对象实例
*不保存在某个对象实例的内存区间中,而是类的内存区域的公共存储单元
*类变量可以通过类名直接访问,也可以通过实例对象来访问两种方法结果是相同的
class Person{
static long totalNum;
int age;
String Name;
}
totalNum代表总人数,与具体对象实例无关,可以用Person.totalNum和p.totalNum(设p是Person对象)来访问
*static方法中,不能用this或super
final
*final类:如果一个类被final修饰符所修饰或者限定,说明这个类不能被继承,也就是不能有子类
*final方法 :不能被子类所覆盖的方法
*final字段,final局部变量,他们的值一旦给定就不能更改
*一个字段被static final两个修饰符所限定时,它可以表示常量,如Math.PI(圆周率)
若不给定初始值,按默认值进行初始化,数值为0,boolean为false,应用型为null
定义final字段时,若不是static域,就必须且只能赋值一次,不可缺省(在定义变量时赋初始值,在每个构造函数中进行赋值)
abstract类(抽象类,不可被实例化)
被abstract所修饰的方法叫抽象方法。对抽象方法只需声明,不需实现,既用分号(;),而不是{},格式为
abstract returnType abstractMethod([paramlist]);
一旦某个类中包含abstract方法,则这个类必须声明为abstract类。
抽象方法在子类中必须被实现,否在在子类中仍是abstract的。
接口
定义接口 interface 所有方法都自动是public abstract
实现接口implements 可实现多继承,与类的继承关系无关
Flyable f = new Bird();
interface Collection{
void add(Objiect obj); //可加
void delete(Object obj); //可减
Object find(Object obj); //可寻找
int size();//有多少元素
在实现的时候,要写public
接口中的常量
type NAME = value;//type可以是任意类型,NAME是常量名,通常大写,value是常量值
在接口中定义的常量具有public static final的属性
2.明天学习内容:变量及其传递,多态及虚方法调用