Java 继承

Java继承是面向对象的三大特性之一,允许创建新类并继承已有类的属性和方法。子类通过关键字`extends`来指定父类,以此简化代码并保持逻辑关系。然而,Java中的继承具有单继承限制,可能导致封装性的破坏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念:

继承是 Java 面向对象的三大重要特性之一,其作用是使用已存在的类的定义作为基础 建立新类,新类的定义又可以增加新的属性或新的方法,也可以使用已经存在的类的属性和方法,通俗的讲:子类继承父类,并拥有了父类中提供的所有公共的属性及方法。

2.关键字:extends

意义:当多个类属于同一类事物(物种),重复性的代码太多,代码臃肿,但是重复性的内容可归属于某一类事物,此时通过继承的形式来梳理逻辑关系及简化代码,但前提:用于简化代码的几个类属于同一类事物范畴内
例如:描述个人和描述人类–继承关系。

人类

public class Person {//人类
	private String name;
    private int age;
    private String sex;

    public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

学生类

public class Student  extends Person {//学生类

public void sx(){
	System.out.println("学生");
}
public void task(){
	System.out.println("好好学习");
}
}

老师类

public class Teacher extends Person {//老师类

	public void sx(){
		System.out.println("教师");
	}
	public void task(){
		System.out.println("教书育人");
	}
}
public class Exit {

	public static void main(String[] args) {
		Student student = new Student();
		student.setName("李花朵");
		student.setAge(12);
		student.setSex("男");
		student.sx();
		student.task();
		System.out.println("姓名:"+student.getName()+"、性别"+student.getSex()+"、年龄"+student.getAge());
	
		Teacher teacher = new Teacher();
		teacher.setName("张园丁");
		teacher.setAge(26);
		teacher.setSex("女");
		teacher.sx();
		teacher.task();
		System.out.println("姓名:"+teacher.getName()+"、性别"+teacher.getSex()+"、年龄"+teacher.getAge());
	
	}

}

其最终输出结果:

学生
好好学习
姓名:李花朵、性别男、年龄12
教师
教书育人
姓名:张园丁、性别女、年龄26

继承的限制:一个子类只能够继承一个父类,存在单继承局限。
继承的弊端:打破了封装性,对于某些类和方法以及属性不够严谨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值