首页 > 其他 > 详细

面向对象知识点1

时间:2021-02-28 21:41:55      阅读:24      评论:0      收藏:0      [点我收藏+]

一个引用类型为Person的变量,能否指向Student类型的实例?

Person p = new Student(); // ???

default方法无法访问字段,而抽象类的普通方法可以访问实例字段。

对于静态字段,无论修改哪个实例的静态字段,效果都是一样的:所有实例的静态字段都被修改了,原因是静态字段并不属于实例:

调用实例方法必须通过一个实例变量,而调用静态方法则不需要实例变量,通过类名就可以调用。
推荐用类名来访问静态字段。

因为interface是一个纯抽象类,所以它不能定义实例字段。但是,interface是可以有静态字段的,并且静态字段必须为final类型:

public interface Person {
    public static final int MALE = 1;
    public static final int FEMALE = 2;
}

实际上,因为interface的字段只能是public static final类型,所以我们可以把这些修饰符都去掉,上述代码可以简写为:

public interface Person {
    // 编译器会自动加上public statc final:
    int MALE = 1;
    int FEMALE = 2;
}

final修饰class可以阻止被继承:
final修饰method可以阻止被子类覆写:
final修饰field可以阻止被重新赋值:
final修饰局部变量可以阻止被重新赋值:

一个.java文件只能包含一个public类,但可以包含多个非public类。

面向对象知识点1

原文:https://www.cnblogs.com/deerlet/p/14457518.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!