博主介绍
博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
前言:
封装:
继承
继承的好处
继承的格式
什么时候使用继承
继承的特点
练习
1、画图
2、代码
对象代表什么,就得封装对应的数据,并提供数据对应的行为
封装的主要目的是隐藏对象的内部表示和状态,通过定义公共的方法(也称为访问器方法或 getter/setter 方法)来控制对数据的访问和操作,从而保证数据的安全性和一致性,避免直接对数据进行非法的修改。
Java 提供了三个关键字来实现封装:private、protected 和 public。
public
:公共访问修饰符,用于标识成员可以在任何位置被访问。公共字段和方法可以在任何位置访问,包括外部类、其他类和其他包。public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0) {
this.age = age;
}
}
}
在上述示例中,字段 name
和 age
被声明为私有字段,并提供了公共的访问器方法 getName()
、setName()
、getAge()
和 setAge()
通过 extends
关键字,可以声明一个子类继承另外一个父类,定义格式如下:
class 父类 {
...
}
class 子类 extends 父类 {
...
}
需要注意:Java是单继承的,一个类只能继承一个直接父类,跟现实世界很像,但是Java中的子类是更加强大的。
继承的格式
public class 子类 extends 父类 {}
public class student extends person {}
student称为子类,person称为父类
每一个类都直接或者间接地继承object
public class A {}
##像这样的,A看着是没有父类,但是默认没有,就继承object类
下面这张图片,很形象的体现了Java只支持单继承,不支持多继承
但是我们在学习C语言的时候,C语言是允许子类有多个父类的
现在有四种动物:布偶猫、中国狸花猫、哈士奇、泰迪。
暂时不考虑属性,只要考虑行为。
请按照继承的思想特点进行继承体系的设计。
四种动物分别有以下的行为:
布偶猫:吃饭、喝水、抓老鼠
中国狸花猫:吃饭、喝水、抓老鼠
哈士奇:吃饭、喝水、看家、拆家
泰迪:吃饭、喝水、看家、蹭一蹭
我们先进行画图,然后进行代码的分析与讲解
这里总共需要写8个代码
1、Animal
//权限修饰符
//private修饰的话:子类无法访问,private是私有的
//注意:
//子类只能访问父类中非私有的方法
package demon;
public class Animal {
//权限修饰符
//private修饰的话:子类无法访问,private是私有的
//注意:
//子类只能访问父类中非私有的方法
public void eat(){
System.out.println("吃东西");
}
public void drink(){
System.out.println("喝水");
}
}
2、Cat
package demon;
public class Cat extends Animal{
public void catchmouse(){
System.out.println("猫在抓老鼠");
}
}
3、Dog
package demon;
public class Dog extends Animal{
public void lookhome(){
System.out.println("狗看家");
}
}
4、Lihua
package demon;
public class Lihua extends Cat{
}
5、Hahky
package demon;
public class Hahky extends Dog{
public void breakhome(){
System.out.println("哈士奇在拆家");
}
}
6、buermao
package demon;
public class buermao extends Cat{
}
7、Tedy
package demon;
public class Tedy extends Dog{
public void touch(){
System.out.println("泰迪在乱蹭");
}
}
8、测试Test
package demon;
public class Test {
public static void main(String[] args) {
//创建对象,并调用方法
//1.创建布偶猫的对象
buermao bu = new buermao();
bu.catchmouse();
bu.eat();
bu.drink();
System.out.println("----------------------------------------------");
//2.创建哈士奇的对象
Hahky h = new Hahky();
h.breakhome();
h.lookhome();
h.eat();
}
}