三个修饰符
一、abstract(抽象)
1.抽象方法只能在抽象的类里,只有方法的声明,没有方法的实现。(没有{}直接;结尾)。
2.abstract修饰的类称为抽象类。
注意:(1)抽象方法只能在抽象类中;
(2)子类继承抽象类,必须实现抽象类中所有的抽象方法,除非子类还是抽象类;
(3)抽象类中即可以由抽象方法,也可以有非抽象方法;
3.抽象类的好处是可以强制使用多态。
java
package demo;
public class void main(){
public static void main(String[] arge){
Myclass mc;
}
}
abstract class Myclass{
int n;
public void ma(){
System.out.println("ma..方法...");
}
public abstract void ma();
}
二、static修饰符
1.static修饰的属性称为静态属性、类变量
类加载的时机
语法:static数据类型属性名;
特点:类变量、被所有对象共享(与创建多少对象没关系)
使用:类名静态属性名;
对象名.属性名;//OK不建议使用
2.static修饰的方法称为静态方法、类方法
语法:static返回值类型方法名(形式参数列表){
使用:类名.静态方法0);
对象名.方法名();//OK 不建议使用
注意:①static方法中只能直接访问静态成员(属性和方法),不能直接访问非静态成员(必须通过
对象名,来访问非静态成员)
②静态方法只能被静态方法覆盖,且没有多态
③静本故法中不能使用this.和 super
三、final修饰符
1.final(最终的、最后的)可修饰变量(局部变量、实例变量、类变量):
作用范围内常量,只允许一次性赋值。基本数据类型变量的值不允许改变,引用类型地址不允许改变。
①final修饰实例变量:没有默认值。
赋值的位置:a.在声明的时候对其初始化
b.在构造方法中对其初始化
②final修饰的类变量:没有默认值
赋值的位置:a.在声明的时候对其初始化
b.在静态代码块中对其赋值
2.final修饰的方法:为最终方法,不能被覆盖,可以重载
3.final修饰的类:不能被继承,没有子类