继承 extends

继承是多态的前提,如果没有继承就没有多态
在这里插入图片描述
在这里插入图片描述
面向对象第二大特征:继承
为什么使用继承?
减少代码的重复性,共性抽取
1.在继承中"子类就是一个父类",也就是说子类可以
当中父类看待
如大圈和小圈的关系
2.定义父类:父类就是一个普通的类

3.定义子类:extend关键字

public class子类名称extends父类{

}

4.子类继承父类以后,父类声明的属性、
方法、子类都可以获得到。
注意:当父类中有private的属性或者方法时,子类同样可以获取。
只是,因为封装性是设计,使得子类不能字节调用。但是可以调用他的
get set方法

5.子类可以定义自己特有的方法和属性
子类除了通过继承获取父类的属性和方法外,
还可以定义自己独有的方法和属性

6.java继承是单继承的:一个子类有且只能继承一个父类
一个父类可以有多个子类。

This关键字:
(1) this调用本类中的属性,也就是类中的成员变量;(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。
当局部变量和成员变量重名时,
方法调用变量的原则是就近原则,使用局部变量的值。
解决方法
this关键字不能修饰局部变量。
格式:
this.成员变量
this关键字代表的是正在创建或者正在使用的对象(当前对象)
通过谁调用的方法,谁就是this。

	this可以调用什么:
	1.可以调用属性、方法、构造器
	2.调用属性和方法的格式:this.属性名,this.方法名
	
	3.调用构造器的格式:
		"this(形参);"可以用来显示的调用当前类的

指定重载构造器、
并且必须放在首行,一次只能使用一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用继承extends关键字的Java代码编写例子: ```java // 定义一个父类Animal class Animal { protected String name; public Animal(String name) { this.name = name; } public void eat() { System.out.println(name + "正在吃东西"); } } // 定义一个子类Cat,继承自Animal类 class Cat extends Animal { public Cat(String name) { super(name); } public void meow() { System.out.println(name + "正在喵喵叫"); } } // 定义一个子类Dog,继承自Animal类 class Dog extends Animal { public Dog(String name) { super(name); } public void bark() { System.out.println(name + "正在汪汪叫"); } } // 主函数入口 public class Main { public static void main(String[] args) { Cat cat = new Cat("Tom"); cat.eat(); // 输出:Tom正在吃东西 cat.meow(); // 输出:Tom正在喵喵叫 Dog dog = new Dog("Jerry"); dog.eat(); // 输出:Jerry正在吃东西 dog.bark(); // 输出:Jerry正在汪汪叫 } } ``` 在上面的例子中,我们定义了一个父类Animal和两个子类Cat和Dog。子类Cat和Dog继承了父类Animal的属性和方法,通过extends关键字实现了继承。子类可以覆盖父类的方法,同时还可以定义自己特有的方法。通过继承和多态性,我们可以实现代码的复用和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java_extends相关,类单继承,为什么接口可以多继承](https://blog.csdn.net/monicateacat/article/details/131084257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java 面向对象编程(二)——继承extends关键字,protected修饰符,super关键字](https://blog.csdn.net/weixin_50080344/article/details/124484748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值