面向对象

三大特性封装、继承、多态

1、封装,隐藏类的内部实现机制,在不影响使用的情况下改变类的内部结构,同时也保护了数据,对外界它的内部细节是隐藏的,暴露给外界的是它的访问方法。

2、继承,是为了重用父类代码,同时也为实现多态做了铺垫。

3、多态,父类指向子类对象,Parent o=new Child();一个父类,可以指向多个子类。

     ps1:向上转型,Parent o=new Child() o只拥有父类中有的方法和变量,如果子类重写了父类的方法,则o可拥有子类的该方法。

方法重载和重写

重载:同一类中方法名相同,参数不同(类型不同、个数不同)

重写:子类实现父类方法,方法名、参数、返回值都相同。

 

下面代码可以加深理解:

public class A {
    public String show(D obj) {
        return ("A and D");
    }

    public String show(A obj) {
        return ("A and A");
    } 

}

public class B extends A{
    public String show(B obj){
        return ("B and B");
    }
    
    public String show(A obj){
        return ("B and A");
    } 
}

public class C extends B{

}

public class D extends B{

}

public class Test {
    public static void main(String[] args) {
        A a1 = new A();
        A a2 = new B();
        B b = new B();
        C c = new C();
        D d = new D();
        
        System.out.println("1--" + a1.show(b));
        System.out.println("2--" + a1.show(c));
        System.out.println("3--" + a1.show(d));
        System.out.println("4--" + a2.show(b));
        System.out.println("5--" + a2.show(c));
        System.out.println("6--" + a2.show(d));
        System.out.println("7--" + b.show(b));
        System.out.println("8--" + b.show(c));
        System.out.println("9--" + b.show(d));      
    }
}

运行结果如下:

1--A and A
2--A and A
3--A and D
4--B and A
5--B and A
6--A and D
7--B and B
8--B and B
9--A and D

参考自:https://www.cnblogs.com/chenssy/p/3372798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值