接口中可以写方法体,但是必须都要写成static的,default也可以;接口名.方法名直接调用方法。
不写修饰符默认是:
public static final 属性
public abstract 方法
public class AttributeMethodTest {
public static void main(String[] args) {
//创建Sub对象sub
Sub sub = new Sub();
System.out.println(sub.number);
sub.display();
//sub和base都是引用类型数据,赋值操作为地址赋值。
Base base = sub;
//“==”在引用类型数据当中,判断两地址是否相等。
System.out.println(base == sub);
//`对象的多态性,不适用于属性:(编译和运行都看左边)`
System.out.println(base.number);
//对象的多态性,适用于方法,编译看左边(父类的引用),运行看右边(子类的对象)
base.display();
}
}
class Base {
int number = 10;
public void display(){
System.out.println(this.number);
}
}
class Sub extends Base {
int number = 20;
//重写display方法
public void display(){
System.out.println(this.number);
}
}
转自:https://blog.csdn.net/qq_37530429/article/details/119249165