Java面向对象编程思想————三大特性之继承(内有具体案例)

文章目录


前言

上篇文章讲了三大特性之———封装,本篇来给大家说一下我自己对于面向对象中继承的理解。


继承的概念

首先抛开计算机而言,继承的社会性概念就是一个儿子得到自己父亲的资产。这时儿子就得到了父亲拥有的一切。


那么在JAVA中的概念就很好理解了,当一个类通过extends继承一个父类之后,那么这个过程称为继承。



//学生父类
public class Stu {
	private String stuName;//学生姓名
	private Integer stuId;//学号
	private Integer stuAge;//学生年龄
	//构造函数
	public Stu(String stuName,Integer stuId,Integer stuAge) {
		this.stuName=stuName;
		this.stuId=stuId;
		this.stuAge=stuAge;
	}
	void print() {
		System.out.println("我叫"+stuName+",学号是"+stuId+",今年"+stuAge+"岁");
	}
}

编写“小明”这个实体类。

//子类
public class Ming extends Stu{

	public Ming(String name, int id, int age) {
		super(name,id,age);
	}
	
}

使用测试类来看看会发生什么:

public class Test {
	public static void main(String[] args) {
		Ming stu=new Ming("小明",1901,19);
		stu.print();
	}
}

输出结果:我叫小明,学号是1901,今年19岁。


可以看出,在Ming类中没有写输出方法,只是继承了Stu父类。因此继承是可以把父类中的非封装变量,方法都可以继承。

不可被继承的:父类中被private修饰的变量,构造函数(方法)
举个栗子:

//父类
public class Stu {
	
	String name="小明";
	private String namepri="小红";
	
	
	void print() {
		System.out.println("我叫"+name);
	}
}
//子类
public class Ming extends Stu{
	//继承不重写
}
//测试类
public class Test {
	public static void main(String[] args) {
		Ming stu=new Ming();
		stu.print();
	}
}

猜猜看输出结果为什么,把结果打在评论区看看你的猜想对不对吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值