java三大特性的关系

面向对象编程有三大特性:封装、继承、多态。


封装

1.封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法(getter,setter),如果不想被外界方法,我们大可不必提供方法给外界访问。

2.封装确实可以使我们容易地修改类的内部实现,而无需修改使用了该类的客户代码。

3.可以对成员变量进行更精确的控制。(在setter方法中进行实际意义的校验)

总结:控制属性访问权限,不是你想改就能改。容易修改属性类型。精确控制属性的取值范围。


继承

1.继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

2.子类拥有父类非private的属性和方法。

3.子类可以拥有自己属性和方法,即子类可以对父类进行扩展。

4.子类可以用自己的方式实现父类的方法。

【多态】重点

当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法,但是它仍然要根据继承链中方法调用的优先级来确认方法,该优先级为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,597评论 18 399
  • 还记得昨天给朋友推荐商场的作业吗? “你一个外地的朋友,加盟了某个年轻时尚女装品牌,想请你帮忙推荐一个你所在城市的...
    一条爱分享阅读 586评论 5 2
  • 嗯,还有2天2016年就真的过完了,也是时候该做个总结了。 一:理财(攒钱)方面: 这一年,我在理财(攒钱)方面过...
    十三娘L阅读 206评论 0 0
  • 看着您的照片,泪水像断了线的珠子噼里啪啦的停不下来,抹不去的母爱还在延伸。你的笑容,宽容,慈爱,唠唠叨叨,还有那颗...
    芳华素语阅读 426评论 0 0
  • 在自己成长过程中,传统食物占据主要饮食路线,工作后会遇到很多从来没见过,听过没吃过的食物,适合自己大方向口味的都想...
    金黄的向日葵阅读 229评论 1 1

友情链接更多精彩内容