美文网首页
【Java梳理】深入面对对象 -封装 继承 多态

【Java梳理】深入面对对象 -封装 继承 多态

作者: 田文健 | 来源:发表于2017-12-12 10:44 被阅读0次

面对对象的特性之 封装
在面对对象编程中,对象内部的操作是一般要和外部独立的,相当于一个黑盒,以减少错误的访问导致错误。那么就需要访问权限控制机制,比如有些成员变量和方法不想被外部使用,那么应当用private关键字修饰。在Java中有这么几个关键字修饰方法和变量:
public 共有访问
protected 子类访问权限
default(不加修饰) 默认包内访问
private 只有自己访问

继承性
继承是指一个类的属性和方法可以继承自一个父类(Java只能单继承,就是说只能继承自一个类,不像C++可以继承多个)不包括private修饰的属性和方法(构造函数也不会继承)。

子类可以重写父类的方法,这是方法覆盖,在覆盖了重父类继承的方法后如果再想调用父类的这个方法可以使用 super.方法名来调用,super()是调用父类的构造方法。

package animal;

/**
 * 哈士奇
 */
public class Husky extends Animal implements Dog{

    /**
     * 实现Annimal 的虚方法
     */
    @Override
    public void move() {
        System.out.println("二哈走了过来");
    }

    /**
     * 实现Dog接口的方法
     */
    @Override
    public void bark() {
        System.out.println("二哈在说你好");

    }
    /**
     * 自己的方法
     */
    public void jump(){
        System.out.println("二哈在跳跃");
    }
}

多态
对于多态的理解是对象表现的具体行为由构造对象的类决定,而不是以引用对象的类型决定,对于一个父类引用而言,它引用不同的子类对象,调用这些对象的方法可能是不一样的。在之前的工程中新建一个类

package animal;
public class Pig extends Animal{

    @Override
    public void move() {
        System.out.println("pig is moving");
    }
}

在main方法中写入

Animal animal1 = new Husky();
        Animal annimal2 = new Pig();
        animal1.move();
        animal2.move();

结果是:

二哈走了过来
pig is moving

相关文章

  • 【Java梳理】深入面对对象 -封装 继承 多态

    面对对象的特性之 封装在面对对象编程中,对象内部的操作是一般要和外部独立的,相当于一个黑盒,以减少错误的访问导致错...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

  • JAVA基础

    java的特点 面对对象编程(OOP):封装,继承,多态。https://www.cnblogs.com/chen...

  • java基础系列02--面向对象

    java面向对象 封装(encapsulation) 继承(inheritance) 多态(polymorphis...

  • 继承

    (文章仅用于梳理继承知识点,想深入了解需要看书)我们知道,面向对象的三大特性:封装、继承、多态。讲到继承,在现实中...

  • day09-Java面向对象三(多态/抽象类/接口)

    9.0 Java面向对象三大特性 封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的 多态概念:指...

  • java多态总结

    Java多态 1、多态的总结 面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响...

  • 面向对象

    Java 语法基础 面向对象 ==面向对象有三宝:封装、继承和多态== 继承 关键字:extends 和 impl...

  • 对像和类

    Java 对象和类 多态 继承 封装抽象 Java对象和类 类对象实例方法消息解析代码: 11 运行结果: 小狗的...

  • 【Python】Class

    面对对象编程的三大特性:封装,继承,多态。 封装:create class class封装了Attribute和m...

网友评论

      本文标题:【Java梳理】深入面对对象 -封装 继承 多态

      本文链接:https://www.haomeiwen.com/subject/rfnvvxtx.html