final
- final修饰类,表示这个 类不能被继承
- final修饰方法,表示这个方法不能被重写
- final修饰常量(常量大写),表示常量不能被修改内容
- static final修饰的常量,表示全局常量
抽象类
- 使用abstract修饰的类,这个类是抽象类
- 使用abstract修饰的方法,为抽象方法,此方法只有生命没有实现
- 含有抽象方法的类必须是抽象类
- 抽象类不能实例化,抽象类的子类必须重写父类的抽象方法
- 不能使用abstract修饰属性,私有方法,构造器,静态方法,final方法
/*我为抽象类*/
abstract calss A {
abstract void m();
}
接口(interface)
- 接口就是一个特殊的抽象类,没有属性,只有方法
- 接口就是被类实现的,实现类 必须重写接口中的所有方法
- 接口是Java中实现多重继承的方式
- 接口都是public修饰的,方法也是public
/*声明一个接口*/
public interface Runner {
public void run();
}
/*实现接口*/
public class implements Runner {
public void run() {
System.out.printf("我会跑!");
}
}
内部类
Java中允许一个类中定义另一个类,前者成为外部类,后者称为内部类
- 内部类可以声明为final
- 内部类可以修饰为private或者protected
- 内部类可以为static,此时就不能使用外层类的非static的成员变量
public class Test {
public static void main(String[] args) {
A a = new A();
A.B b = a.new B();
b.m(3);
}
}
class A {
private int s = 1;
public class B {
private int s = 2;
public void m(int s) {
System.out.println(s);//3 局部变量
System.out.println(this.s);//2内部类的对象
System.out.println(A.this.s);//1外层类的对象
}
}
}
匿名内部类
一般swing里面使用的较多
下面就是内部类的一个使用
button.addListener(
new OnClickListener() {
//实现方法
}
);
时间: 2025-01-02 17:39:02