阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第12章: 继承的定义与使用:课时62:继承定义限制

现在已经清楚了整个的继承逻辑,那么下面对于继承实际上还有一些要求。
1.java之中不允许多重继承,只允许多层继承。
(1)在实际的生活之中一个人只会有一个亲老子,那么在程序的逻辑之中也是奉行此标准的。
错误的继承:

class A {}
class B {}
class C extends A,B {  } // 多重继承

正确的继承:

class A {}
class B extends A {}
class C extends B {  } // 多层继承

继承的主要目的是扩展已有类的功能,但是多重继承目的是希望可以同时继承多个类中的方法,而面对于多继承的要求应该将范围限定在同一类之中。如果说现在使用了多层继承,这个时候对于C类也同样可以继承多个父类的操作。但是多层继承也应该有一个限度,千万别整个祖宗二十代,对于继承关系而言,理论上层次上不应该超过三层。

2.在进行继承关系定义的时候,实际上子类可以继承父类中的所有的操作结构。但是对于私有操作属于隐式继承,而所有的非私有操作属于显式继承。

class Person {
	private String name ;
	public void setName(String name) {
		this.name = name ;
	}
	public String getName() {
		return this.name ;
	}
}
class Student extends Person {
	public Student(String name) {
		setName(name) ; // 设置name属性内容
	}
	public void fun() {
		// System.out.println(name) ; // 直接访问不可能,因为私有的
		System.out.println(getName()) ; // 间接访问
	}
}

public class JavaDemo {
	public static void main(String args[]) {
		Student stu = new Student("林中强") ;
		stu.fun() ;
	}
}

继承一旦发生了,所有的操作就都可以被子类使用了,并且在程序设计里面并没有考虑到现实生活中所谓的“败家子”概念,子类至少会维持父类的现有功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值