Java基础05(继承性)

本文介绍了Java中的继承性,它是面向对象编程的关键特性,允许子类继承父类的属性和方法。通过实例展示了如何声明和使用继承,以及单继承和多层继承的概念。同时,讨论了Object类,它是所有Java类的基类,提供了基本的方法如equals()和toString()。继承提高了代码复用和扩展性,并为多态性奠定了基础。
摘要由CSDN通过智能技术生成

Java基础第五章面对对象二之继承性(inheritanc)

学习本节内容后更加增强自己对继承的理解,自己手动实践
第五章 Java基础入门第五章之继承性的理解与使用


目录

Java基础第五章面对对象二之继承性(inheritanc)

文章目录

前言

一、继承是什么?

二、继承的好处是什么?

三、使用方式

3.1.继承的格式

声明一个父类Person 

声明一个子类Student

3.2思考:如果父类有一个私有的属性呢?继承到了吗?

说明继承获取到了,只是由于封装性的影响无法显示与使用(不可见)

3.3子类可以扩展自己功能

4.Java规定(单继承,多层继承)

5.Object类

总结



前言

提示:介绍继承性和Object类的引入

继承:它允许我们在已有类的基础上创建新的类,并且从父类中继承属性和方法。这种技术让代码变得更加简洁、灵活和可维护。


一、继承是什么?

Java中继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以重写父类的方法,并且可以使用父类中定义的公共和受保护的属性和方法。继承使得代码重用更加容易,并且可以通过创建一个通用的父类来简化整个类层次结构。在Java中,使用关键字“extends”来实现继承。例如:

```
public class Animal {
    public void move() {
        System.out.println("Animals can move");
    }
}

public class Dog extends Animal {
    public void move() {
        System.out.println("Dogs can walk and run");
    }
}
```

在这个例子中,Dog类继承了Animal类的move()方法,并覆盖了它。Dog类也可以使用Animal类中定义的所有公共和受保护的属性和方法。

二、继承的好处是什么?

1.减少了代码的冗余,提高代码的复用性

2.便于功能扩展

3.为多态性提供前提

三、使用方式

3.1.继承的格式

class A extends B { }

A:子类,派生类(subclass)

B:父类,超类,基类(superclass)

体现:一旦子类A继承父类B以后,子类A就获取了父类B中声明的所有属性和方法

声明一个父类Person 

package exer;

public class Person{
	String name;
	 
	int age;

	public Person() {
		
	}
	public Person(String name,int age) {
		this.name = name;
		this.age = age;
		
	
		
	}
	public void eat() {
		System.out.println("人能吃饭");
	}
	public void sleep() {
		System.out.println("睡觉");
	}
	
	
}

声明一个子类Student

package exer;

public class Student extends Person {

	String major;

	public void study() {
		System.out.println("学习");
		
	}
	
}
package exer;

public class ExtendsTest {

	public static void main(String[] args) {
		
		Person p1 = new Person();
		p1.age =1; 
		p1.eat();
		
		Student s1 = new Student();
		
		s1.eat();
		s1.sleep();
		s1.study();
		
			
	}
}
/*
人能吃饭
人能吃饭
睡觉
学习*/

3.2思考:如果父类有一个私有的属性呢?继承到了吗?

private int  age;

答案是继承了,我们可以去用代码块实现:

我们在父类Person中定义一个 get set 方法 去获取这个私有属性,子类Student中同样继承这个方法我们就在mian方法中去设置并输出,看是否能赋值。

	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

int i = s1.getAge();

int i = s1.getAge();
		System.out.println(i);
//10

		

说明继承获取到了,只是由于封装性的影响无法显示与使用(不可见)

3.3子类可以扩展自己功能

比如3.2代码块中子类Student中有扩展的方法study()

ps:extends(英文翻译:延展,中文理解;继承)

4.Java规定(单继承,多层继承)

4.1一个类可以被多个子类继承(延展)

4.2单继承:一个类只能有一个父类 (ps:C++可以支持多继承但Java不允许)

4.3 多层继承:子类父类是一个相对的概念,(ps:你,你爸爸,你爷爷:你是你爸儿子,你爸是你爷爷儿子,相对概念)

4.4那么ABC中C是A的谁呢 Java中称为间接父类 B是A的直接父类

4.5子类继承父类时候,子类就继承了直接父类和间接父类的所有功能和方法(ps:人类祖先根据达尔文进化论来说是类人猿,我们所有人大都继承了间接父类吧)

5.Object类

5.1 我们如果没有显式的声明一个类的父类的话,则此类就继承与java.lang.Object类

5.2 所有java类(除了java.lang.Object类之外的)都直接和间接继承java.lang.Object类

5.3 意味着所有java类都具有此类的功能


总结

继承性:

Java中的继承性是一种面向对象编程的核心概念之一。它允许我们在已有类的基础上创建新的类,并且从父类中继承属性和方法。这种技术让代码变得更加简洁、灵活和可维护。在Java中,继承性以类的层次结构的形式呈现,其中一个类可以作为另一个类的子类或派生类。子类可以继承父类的属性、方法和行为,并且可以在不改变父类行为的情况下扩展父类的功能。Java支持单继承,一个子类只能有一个直接的父类,但是可以通过实现接口来实现多重继承。在Java中,继承性也是实现代码重用和抽象数据类型的重要方式。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Truswei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值