面向对象三大特征(详解)

面向对象的三个基本特征是:封装、继承、多态

封装:获得get,set方法

其它:封装时会用到多个权限控制符来修饰成员变量和方法,下面看看它们的区别:

上面的这一张图片应该可以很好的诠释4个权限控制符的使用了

继承

修饰符 class SubClass extends SuperClass{

    }

 

 SubClass :导出类、继承类、子类

SuperClass:父类、基类、超类、源类

子类SubClass通过extends来继承父类SuperClass

每个类有且只有一个直接父类

Java只支持单继承不支持多继承

父类里面私有的东西,子类不能继承

overload 与 override

 
区别点
重载(overload)
重写(override)
1           
判断规则     
参数列表顺序不同、类型不同、个数不同都可以构成重载
    同类中方法名相同,但是方法的参数列表不同,与方法的返回值类型和修饰符无关
  方法签名(方法名+参数列表)必须相同
    子类方法的返回值类型比父类方法的返回值类型更小或相等
    子类方法声明抛出的异常应比父类方法申明跑出异常更小或相等
    子类方法的访问权限应比父类方法更大或相等
2
权限
无权限要求
被重写的方法不能拥有比父类更严格的权限
3
范围
发生在一个类中
发生在继承关系中
4
多态
编译时多态
运行时多态
 
构造方法不能被重写

多态

public class test {
    public static void main(String[] args) {
        cat c = new cat();
        c.jiao();
        dog d = new dog();
        d.jiao();
        Animal a=new cat();
        a.jiao();
    }
}

class Animal {
    public int getAge() {
        return age;
    }

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

    public String getName() {
        return name;
    }

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

    public int age;
    public String name;

    public void jiao() {
        System.out.println("谁在叫");
    }

}

class cat extends Animal {
    public void jiao() {
        System.out.println("猫在叫");
    }
}

class dog extends Animal {
    public void jiao() {
        System.out.println("狗在叫");
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值