Java的封装、继承与多态
-
封装
封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
public class Student {
//封装
//属性私有
private String name;
private String id;
private String sex;
//通过get、set方法操作数据
//get 获取数据
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getSex() {
return sex;
}
//给数据赋值
public void setName(String name) {
this.name = name;
}
public void setId(String id) {
this.id = id;
}
public void setSex(String sex) {
this.sex = sex;
}
}
-
继承
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
Person父类
public class Person {
public int a=1;
public void talk(){
System.out.println("Person");
}
}
Student子类
public void say(){
System.out.println("Student");
}
}
测试用例
public static void main(String[] args) {
Student student=new Student();
System.out.println(student.a);//继承父类的成员变量
student.say();//子类拓展的方法
student.talk();//子类继承的方法
}
}
输出:
1
Student
Person
-
多态
多态存在的三个必要条件:
- 继承
- 重写
- 父类引用子类对象
Person父类
public void say(){
System.out.println("Person");
}
public void run(){
System.out.println("run");
}
}
Student子类
//重写say()方法
@Override
public void say() {
System.out.println("Student");
}
public void talk(){
System.out.println("myStudent");
}
}
测试用例
public class Application {
public static void main(String[] args) {
//方法的多态
Student student=new Student();
Person person=new Student();
Person person1=new Person();
student.say();//调用Student的say()
person.say();//调用Student的say()
person1.say();//调用Person的say()
}
}
输出:
Student
Student
Person
SDK社区是一个中立的社区,这里有多样的前端知识,有丰富的api,有爱学习的人工智能开发者,有风趣幽默的开发者带你学python,还有未来火热的鸿蒙,当各种元素组合在一起,让我们一起脑洞大开共同打造专业、好玩、有价值的开发者社区,帮助开发者实现自我价值!
转载自:https://juejin.cn/post/6941281371641888804