码迷,mamicode.com
首页 > 编程语言 > 详细

Java的封装继承和多态

时间:2021-02-17 14:11:07      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:个数   get   rri   重写   继承   类继承   lan   app   项目   

封装

定义:属性私有private;get/set

目的

  1. 提高程序的安全性,保护数据

  2. 隐藏代码的实现细节

  3. 统一接口

  4. 提高系统的可维护性

代码

public class Student {

    //名字
    private String name;
    //学号
    private int id;
    //性别
    private char sex;
    //年龄
    private int age;

    //要提供一些可以操作这些属性的方法

    //get  获得这个数据
    public String getName(){
        return name;
    }
    //set 给这个属性赋值
    public void setName(String name){
        this.name = name;
    }

    //Alt + Insert :插入get/set

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age>=120||age<0){
            this.age = 0;
        }else{
            this.age = age;
        }
    }
}

继承

关键词:extends

代码

//在Java中,所有的类,都默认直接或间接继承object
//Person 基类  父类
public class Person {

    //public  :公共的 公开的
    //protected:受保护的
    //default:默认的
    //private :私有的
    private int money = 10_0000_0000;

    public void say(){
        System.out.println("说了一句话");
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}
//子类继承了父类,就会拥有父类的全部方法
//extends:扩展.子类是父类的扩展
//Student是子类,Person是父类
public class Student extends Person{
    public void sayHi(){
        System.out.println("我是个学生");
    }
}

多态

定义:同一个方法根据发送对象的不同而采取多种不同的行为方式。

多态的注意事项:

  1. 多态是方法的多态,属性没有多态。

  2. 方法重写,父类引用指向子类对象。

举例


public class Application {
    //一个项目应该只有一个main方法:main方法是程序运行的主入口
    public static void main(String[] args) {
        Person p1 = new Person();
        Person p2 = new Student();
        Person p3 = new Teacher();
        p1.sayHi();//我是人类
        p2.sayHi();//我是学生
        p3.sayHi();//我是老师
    }
}
//父类
public class Person {
    public void sayHi(){
        System.out.println("我是人类");
    }
}
//子类:Student
public class Student extends Person{
    //重写父类中的say()方法
    @Override
    public void sayHi() {
        System.out.println("我是学生");
    }
}
//子类:Teacher
public class Teacher extends Person{
    @Override
    public void sayHi() {
        System.out.println("我是老师");
    }
}

Java的封装继承和多态

标签:个数   get   rri   重写   继承   类继承   lan   app   项目   

原文地址:https://www.cnblogs.com/guofeng-zhou/p/14401274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!