小言_互联网的博客

Java特性之封装和继承

384人阅读  评论(0)

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场