类的特点--继承
来源:互联网 发布:关闭手机数据连接 编辑:程序博客网 时间:2024/05/16 10:29
继承的优点:
注意:不要为了获取其他类的功能,简化代码而继承,必须是类与类之间有所属关系才可以继承。1、提高了代码的复用性。
2、让类与类之间产生了关系,有了这个关系,才有了多态的特性。
java中的继承:
1、java只支持单继承,不支持多继承。(因为多继承容易带来安全隐患。当多个父类定义了相同的成员,子类对象不确定运行哪一个。但java保留这种机制,并用另一种方式来体现,多实现,即接口)其中单继承也即是子类只能有一个父类。
下面程序会报错:(多继承)
public class Demo22 {public static void main(String[] args){C c=new C();c.show();}} class A{void show(){System.out.println("a");}}class B{void show(){System.out.println("b");}}class C extends A,B{}
2、但是一个父类可以被多个子类继承,这是多层继承。(因为父类是所有子类的共性描述)
注意:在具体调用时,要创建最子类的对象,这是因为;一是因为有可能父类不能创建对象,二是创建子类对象可以使用更多的功能,包括父类基本的也包括子类本身特有的class A{void show(){System.out.println("a");}}class B extends A{}class C extends A{}
子父类出现后,类成员的特点:比如下图 C继承了B,而B又继承了A ,一般创建对象就创建C类的对象。
当父类与子类定义的变量不同时,类中成员包括三部分:
1、变量
2、函数
3、构造函数
public class Demo23 {public static void main(String[] args){B b=new B();System.out.println(b.num1+" "+b.num2);}}class A{int num1=1;}class B extends A{int num2=2;}
输出结果为 1 2
当子类中出现非私有的同名成员变量时,(子类会把父类的覆盖掉),这时子类要访问本类中的变量,用this,如果子类要访问父类中的同名变量,用super(super代表父类对象的引用,this代表本类对象的引用)
public class Demo23 {public static void main(String[] args){B b=new B();System.out.println(b.num+" "+b.num);}}class A{int num=1;}class B extends A{int num=2;}
输出结果为:2 2
函数另一个特性——重写(覆盖)
当子类继承父类,沿袭了父类的功能,到子类中,但是子类虽具备该功能,功能的内容却和父类不一致,这时,没有必要定义新功能,而是覆盖特性,保留父类的功能,重写功能内容。
覆盖的注意事项:
1、子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。
2、静态只能覆盖静态。
重载:只看同名函数的参数的列表。
重写:子父类方法要一模一样。
权限分为:public ,private,protect和默认权限,其中默认权限介于public和private之间。阅读全文
0 0
- 类的特点--继承
- 继承之子父类函数的特点
- Scala继承的特点
- OC类的继承-继承的特点
- 类的公有继承,私有继承,protected特点
- 5.6.1 继承的特点
- Java中继承的特点
- 继承和继承的机构特点
- 类的三大特点:封装,继承,多态
- 继承过程中子父类的构造函数特点
- 继承、抽象类和接口的特点与关系
- 子类继承父类,构造函数的特点 super()
- 面向对象_Java中类的继承特点
- 继承——子父类出现后,类成员的特点
- java继承中构造函数的特点
- JAVA继承特点的小总结
- 面向对象 中继承的特点
- javaScript的封装特点和继承机制
- caffe中的SoftmaxLoss层
- wxWidgets嵌入CEF3,并实现JavaScript调用C++代码
- JZOJ 2413. 【NOI2005】维护数列
- 骨牌铺方格
- sql优化
- 类的特点--继承
- VS2010+OPENCV3.0配置备忘
- 机器学习算法推荐
- 巴斯卡三角形(杨辉三角)(c/python)
- atcoder AtCoder Regular Contest 084 D
- Spring Boot:(一)快速入门
- Windows中vmware(虚拟机) + linux(ubuntu)玩起
- 51单片机学习经历
- 2003