java学习--java 中的extend

本文介绍了Java中的继承机制,指出Java是单继承,子类可拓展属性和方法。继承时父类需有无参构造,子类构造默认调用父类构造。可通过super调用父类属性和方法,子类可重写父类方法,还说明了不能被继承的内容。

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

java中的继承是单继承,只能有一个父类,可以有多个子类。

子类在继承父类的属性和方法的时候可以拓展自己的属性和方法。

继承父类的时候,父类必须有一个无参构造。

子类构造的时候会默认通过super()来调用父类的构造方法。初始化子类的时候,先调用父类的默认构造,在调用子类的构造。

调用父类的属性和方法可以通过super来进行。

在调用子类中的方法的时候,会先在子类中查找,找到后调用,如果没有找到就去父类中进行查找。如果在子类中找到了那个方法,就是子类重写了父类的方法。

用final修饰的类是不能被继承的。

不能被继承的:

  1.私有的属性(可以通过set getsuper方法使用父类的私有属性)

  2.不同包的friendly

  3.构造方法不能继承

### Java中`extends`关键字的使用说明 #### `extends`关键字的作用 在Java编程语言中,`extends`关键字用于定义类之间的继承关系。通过这种机制,子类能够获取父类中的非私有属性和方法[^2]。 #### 单继承特性 需要注意的是,Java只支持单继承,这意味着一个类只能直接继承自另一个单一的父类[^1]。 #### 基础语法结构 以下是利用`extends`实现继承的一个基本例子: ```java class Animal { void eat() { System.out.println("This animal eats food."); } } class Dog extends Animal { void bark() { System.out.println("The dog barks loudly."); } } ``` 在此示例中,`Dog` 类通过 `extends` 关键字继承了 `Animal` 类。因此,`Dog` 不仅拥有自己的成员函数 `bark()`,还继承了来自 `Animal` 的 `eat()` 方法。 #### 访问控制的影响 只有当父类的方法或字段被声明为 `protected` 或 `public` 时,它们才能被子类访问;如果这些成分标记为默认包级可见或者更严格的权限(即 `private`),那么即使存在继承关系也无法直接存取。 #### 构造器行为 尽管子类可以通过 `super` 调用父类构造器来初始化继承下来的实例变量,但需注意每个子类对象创建过程中都会隐含调用一次最顶层祖先类无参构造器完成必要的初始化工作[^3]。 ### 示例程序展示完整的继承过程 下面给出一段更为复杂的代码片段进一步阐释上述概念: ```java // 定义基类Person class Person { String name; public Person(String n){ this.name=n; } void display(){ System.out.println("Name:"+name); } } // 创建Employee作为派生类,扩展自Person class Employee extends Person{ double salary; // 使用super显式调用了父类带参数构造器 public Employee(String nm,double sal ){ super(nm); this.salary=sal; } @Override void display(){ super.display(); System.out.println("Salary:"+salary); } } public class TestInheritance { public static void main(String[] args) { Employee emp=new Employee("John Doe",8000); emp.display(); } } ``` 此案例展示了如何借助于`extends`建立父子层次体系以及怎样重写已有的功能以适应特定需求的同时保留通用部分不变.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值