面向对象(封装、继承、多态)

文章介绍了Java编程中的三个核心概念:封装,通过private关键字隐藏对象内部细节并提供公共访问方法;继承,允许创建子类继承父类的属性和方法,提高代码复用性;多态,展示同一行为在不同类中有不同表现形式,通过接口实现。
摘要由CSDN通过智能技术生成

1.封装

所谓封装,就是把一个对象私有化,同时提供给外界访问该属性的方法。

新建一个学生类Son,通过private修饰年龄和名字就是将对象私有化,同时又提供get和set方法供外界使用。

优点:提高了安全性和代码的复用性;隐藏了内部细节;


public class Son {

    private Integer age;   //年龄
    private String name;    //名字


    @Override
    public Integer getAge() {
        return age;
    }

    @Override
    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public void setName(String name) {
        this.name = name;
    }
}

2.继承

所谓继承就是使用已经存在的类作为基础建立新的类。子类拥有父类的所有属性和方法,除了私有的,子类也可以拥有自己的属性和方法。

定义一个父类Father,使Son继承Father,子类和父类都有姓名和年龄,但是儿子没有工资,是父类独有的,不给外界提供访问方法。同理,父类和子类都可以吃饭,但是工作是父类独有的,子类也可以有自己的方法,如上学。

特点:提高了代码的复用性;只支持单继承和多层继承

//子类
public class Son extends Father {

    private Integer age;   //年龄
    private String name;    //名字

    public void school(){
        System.out.println("上学......");
    }

    @Override
    public Integer getAge() {
        return age;
    }

    @Override
    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public void setName(String name) {
        this.name = name;
    }
}
//父类
public class Father  {

    private Integer age;   //年龄
    private String name;    //名字
    private double salary;      //工资
    public void eat(){
        System.out.println("吃饭.....");
    }
    private void work(){
        System.out.println("工作........");
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

//测试
public class Test {
    public static void main(String[] args) {
        Son son=new Son();
        son.eat();
        son.school();
    }
}

3.多态

所谓多态就是指同一个行为具有多个不同表现形式或形态的能力,可以通过继承和接口方式实现。比如动物都有吃的行为,但是猫吃小鱼干,狗吃小骨头,兔子吃青草。

新建一个接口Animal,定义一个eat方法,然后定义猫和狗两个类,实现接口,重写Animal中的eat方法,让他们自己表达自己特有的行为。

public interface Animal {
    public void eat();
}

class Dog implements Animal{
    @Override
    public void eat() {
        System.out.println("吃小骨头..........");
    }
}

class Cat implements Animal{
    @Override
    public void eat() {
        System.out.println("吃小鱼干..........");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值