public class Test { public static void main(String[] args){ B b=new B(0); int y=b.getY(); } } class A { public static int x=2; //1. private int y=2; //2. protected int z; //5. A(){ //3. x=x+1; showX(); //4. } public void showX(){ System.out.println("A.x="+x); } public int getY(){ return y; } } class B extends A { B(int x){ x=x+2; //只对局部x操作 showX(); } public void showX(){ System.out.println("B.x="+x); } public int getY(){ //6. System.out.println("B.y="+(super.getY()+x)); return super.getY()+x; } } //输出 //B.x=3 //动态绑定 //B.x=3 //B.y=5
1. public static int x被继承到B,成为B的私有域。
2. B中仍然有一个名为y的域,但是无法直接访问,需要通过super.getY()
3. 如果子类构造函数没有显式调用超类构造函数,将会自动调用超类的无参构造函 数,若超类没有无参构造函数,子类中又没有显式调用,则编译器报错
4. java默认动态绑定机制,若不需要动态绑定则将方法定义为final阻止继承
5. 类A的protected修饰符的数据或方法,可以被同个包中的任何一个类访问(包括子类),也可以被不同包中的A的子类访问。
6. 覆盖一个方法时,子类的方法可见性不能低于父类方法的可见性。
继承(inheritance)
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,论坛,而又由车这个类派生出教程和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
类的继承知识点
(1)java不支持多重继承,也就是说子类至多只能有一个父类
(2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法
(3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承
(4)子类中定义的成员方法,并且这个成员方法的名字,返回类型,及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。
封装(encapsulation)
类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏。
多态(polymorphism)
多态又分为设计时多态和运行时多态,例如重载又被称为设计时多态,而对于覆盖或继承的方法,JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。总而言之,面向对象的设计的典型特点就是继承,封装和多态,这些特点也是面向对象之所以能如此盛行的关键所在。
单继承与多继承
JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
相关推荐
java继承学习教案.pptx
java继承作业.pdf
利用Java继承机制。编写一个抽象的图形类Shape,里面有方法getArea()计算面积以及方法displayArea()显示面积,编写子类矩形类和三角型类分别实现两个方法。
Java中的继承作为Java面向对象三大特性之一,在知识点上而言,还是很多的,而且java的继承与覆盖基本是java笔试中常出的题,也比较绕,下面欧#柏泰#克和大家一起来学习下JAVA继承的相关知识点吧:
java 继承和多态PPT教程
java继承 对象类型的转换 实例代码java继承 对象类型的转换 实例代码java继承 对象类型的转换 实例代码
第一次传东西,大家多多支持呀。一本部分java继承的课件
精选几道java继承及接口的实例
自己设计的一个程序,展现有继承结构的子类对象的初始化过程(包含构造方法、初始化值、父类构造方法、父类的初始化值的环节)
6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip...
7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip...
java继承和多态PPT教案学习.pptx
java 继承 程序 学习java 必须要学习的知识,搞懂了 你java就入门了
1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字
java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学
java继承习题精选 包含可很多习题 同时也副有正确答案
java 继承泛型类示例 java 继承泛型类示例 java 继承泛型类示例
论JAVA继承机制中父类与子类的关系
linux下java继承开发环境配置,喜欢的人赶快下吧。很有用哦!学习linux很好的。
java继承、多态的简单程序,适合初学者参考,配套Bin_0902的博客使用