抽象类
继承抽象类的(非抽象类)子类必须要实现抽象类的所有抽象方法
提升开发效率,接口比抽象类更加实用
抽象类不能用new实例化
抽象类中可以写普通方法,抽象方法必须在抽象类中
public abstract class aaaa {
public abstract void aaaaaaaa(); //只有方法的名字,没有方法的实现
}
java中的类不能多继承,但是接口可以多继承
接口
只有规范(方法名),自己无法写方法(纯抽象)
接口的本质是契约
- 关键字 interface
类文件创建,更改class为interface
public interface iii {
void run();
}
-
定义的方法默认为 public abstract
-
定义的属性默认都是常量
-
接口中所有的定义前都有默认关键字 public abstract,private和protected都不允许
-
类可以实现接口 implements
public class aaaa implements iii {
public void run(){};//实现接口的类必须要重写接口的所有方法
}
内部类
public class aaaa {
public void run(){};
public class Inner{
public void in(){
System.out.println("inner in");
};
}
public static void main(String[] args) {
aaaa a = new aaaa();
aaaa.Inner i = a.new Inner();//注意要在 外部.new
}
}
package scanner;
public class aaaa {
public void dd(){
class A{}//局部内部类
}
}
class A{}//一个java文件可以有多个类,但只能有一个public修饰的类