面向对象
文章平均质量分 75
肖市一郎
这个作者很懒,什么都没留下…
展开
-
Java中子类对父类私有方法覆盖的问题
最近在学习到Java的继承和多态时遇到了这样的一个问题:关于继承链中子类对父类的私有方法是否可以覆盖的问题,在此记录一下自己对这个问题解决以后的一些心得。首先要明确:子类是不能够覆盖(重写)父类的私有方法的。比较直观的理由是,子类要能够重写父类的方法的前提条件是继承,子类对父类的私有方法并不继承,也没有访问权限,自然也是不能重写的。接下来看一个例子:public class Test { public static void main(String[] args) { new A().printP.转载 2020-05-18 11:10:47 · 1257 阅读 · 0 评论 -
面向对象之继承
java虽然不支持多继承,但是支持多实现(interface)和多层继承(A继承B,B继承C)子类方法覆盖父类方法必须保证子类方法权限大于等于父类方法权限子父构造函数1:是否能继承子类不能继承父类的构造函数,不存在这个概念2:是否能覆盖父类的构造函数不存在覆盖,覆盖要求函数名和返回值一致,只存在参数的不同,而子父的构造函数名都不一样,所以不存在覆...原创 2020-05-08 16:29:49 · 91 阅读 · 0 评论 -
面向对象之多态
1:多态的体现父类引用指向子类对象父类引用可以接收子类对象2:多态的前提类与类之间必须有关系,要么继承要么实现通常还有一个前提:存在覆盖3:多态的好处多态大大提高了程序的扩展性4:多态的弊端提供了扩展性,但是只能使用父类的引用访问父类中的成员5:强制将父类引用转换为子类对象,称为向下转型父类引用接收子类对象,称为向上转型多态至始至终都是子类对象...原创 2020-05-06 11:25:51 · 64 阅读 · 0 评论 -
面向对象之封装
一:类和对象的区别类:对实现生活中事物的描述,映射到java中,就是class定义的类对象:就是这类事物,实实在在的个体;java中具体对象就是堆内存中new建立的实体,对象一般都是用来存储数据的(存储数据的实体在堆内存中)堆内存中的变量一般都有默认初始化值,int对应的是0,String对应的是null,如果类中的变量已经有值,这个值称为显示初始化值。事物的属性对应的是类中...原创 2020-05-06 10:37:26 · 105 阅读 · 0 评论