abstract语法:
1.abstract修饰类,被修饰的类不能被实例化
格式:public abstract class 类名{}
2.abstract 修饰方法,若被子类继承,该方法必须被子类重写
格式:
访问修饰符 abstract 返回值类型 方法名(形参);
注意:
1.在class关键字前面,加上abstract,代表这个类是一个抽象类;
2.抽象类不能被实例化.如果要实例化,就只能实例化他这个类的子类;
3.抽象方法没有具体的实现,并且必须包含在抽象类中,抽象类中可以有普通方法
4.如果一个类,继承了一个抽象类,但是不想实现他的抽象方法,就只能够把自己也变成抽象类;
static语法:
1.修饰属性(存储在方法区中),静态方法与非静态方法都可访问。
格式:访问修饰符 static fina 数据类型 属性么 = 初始值;
2.修饰方法(存在方法区中)
格式:访问修饰符 static【可选】 返回值类型 方法名(形参){}
3.用作静态代码块
格式:static{
100行代码
}
注意:静态代码块只会运行一次
final 语法:
1.修饰类(不能被继承)
格式:public final class 类名{}
2.修饰属性(不能被重写)
格式:访问修饰符 static【可选】 final 数据类型 属性名=初始化值;
3.修饰方法(值或地址不能被修改)
格式:访问修饰符 final static【可选】 返回值类型 方法名(形参){}
注意:
1.静态属性可在 后面代码块,静态代码块,构造器中都可实现初始化
2.被final修饰的都叫最终××