Java特性之封装和继承
封装
概述
把数据和操作数据的方法绑定起来,对数据的访问只能通过已经定义的接口
封装的主要体现:
类是对数据和数据操作的封装,类中的方法是对实现细节的封装。
封装的实现
1 .需要修改属性的权限修饰符(修改为private);
2 .创建getter/setter方法(用于属性的读写);
public class People {
// 对属性的封装一个人的姓名、年龄
private String name;
private int age;
//创建getter/setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
封装的好处
封装可以防止类中的方法访问属性,防止对象间的交互,提高Java程序的安全性
继承
概述
从已有类得到继承信息创建新类的过程。其中提供继承信息的类称为父类(超类,基类),得到信息继承的类被称为子类(派生类)。继承让让变化中的软件系统有一定的延展性,同时也是封装程序中可变因素的重要手段。
继承是为了重用父类代码,两个类若存在IS-A的关系就可以使用继承,继承是实现多态的一个基础。
简单的说:继承是类与类的一种关系,比较像集合中的从属于关系。比如说,狗属于动物。就可以看成狗类继承了动物类,那么狗类就是动物类的子类(派生类),动物类就是狗类的父类(基类)。在Java中是单继承的,也就是说一个子类只有一个父类。
格式
class 父类{
}
class 子类 extends 父类{
}
super:
通过super,可以访问父类的构造方法 调用super构造方法的代码,必须写在子类构造方法的第一行
通过super,可以访问父类的属性
通过super,可以访问父类的方法
//通过super访问父类的构造方法
class Student1 extends Person1{
public Student1() {
super("无名称",1);
}
//通过super访问父类的属性和方法
class Student1 extends Person1{
public Student1() {
super.sex = "男";
super.setName("哈哈哈");
}
}
class Dog extends Animal{
}
//父类 动物
public class Animal {
private String name;
public Animal() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//子类 狗
public class Dog extends Animal {
private String sex;
public Dog() {
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
继承的限制:
Java中只有单继承,多重继承,没有多继承。
继承的优点
1.减少代码量,能很好的提高复用率。
2.使类与类之间存在继承关系,是实现多态操作的前提。
转载:https://blog.csdn.net/qimojun/article/details/106146291
查看评论