美文网首页
浅谈java继承、多态、封装

浅谈java继承、多态、封装

作者: 西柚_柠檬 | 来源:发表于2018-08-18 15:22 被阅读0次

1、继承 ->is a(你是人,苹果是水果,)

1)语法

public  class  <子类>  extends  <父类>{

}

2)子类使用父类的方法

3)子类覆盖父类的方法

父类只定义共性的行为(做什么),如何做(如何吃饭),下沉到子类完成

4)protected  保护

介于public 和 private之间

主要用于继承

访问修饰符          本类    同一包      子类      外部

private                  Y          N            N            N

friendly(默认)        Y          Y            N             N

protected              Y           Y           Y             N

public                    Y          Y            Y             Y

public  可以修饰属性、方法、类

private 可以修饰属性、方法 

protected 可以修饰属性、方法 

friendly(默认)  可以修饰  属性、方法、类

向上转型 upcasting

First:返回类型的向上转型

int num =10;

long result = num;

父类的引用指向子类的对象,叫做向上转型。

tom是对象的一个引用,可以看做Student类型,也可以看做Person类型

Person tom = new Student();

Second:参数的向上转型

main(String args[]){

int num1 = 10;

int num2 = 20;

add(num1,num2);

}

public  static void add(long first,long second){

System.out.println(first+second);

}

向上转型有一个支撑点:继承

好处:工作中去掉很多重复的代码

只针对父类的编程

注意:java只支持单继承(子类最多只能有一个父类)

工作中什么情况下使用继承?

只有需要向上转型的时候用继承

2、多态 has a

什么是多态?

  程序在运行期判断对象类型,调用恰当方法(只有在运行期才知道创建哪个类型的对象)

  特征:1做什么和怎么做分离

  在父类定义做什么,怎么做下沉到子类

  父类只定义共性的行为

  2让不变的事物和变动的事务隔离

    不变的事物:所有的形状都可以绘画

    变化的事物:每一种形状化的方式不一样

    不变的事物抽象为父类,变化的事物下沉到子

    在父类定义的方法,子类重新定义

    多态:运行时判断对象类型,调用恰当的方法

    特征:父类定义做什么,如何做下沉到子类

    针对父类的编程,忽略子类的存在

    每个子类实现的方式不同(圆形和三角形画的方式不一样)

    对象有两种状态,1编译期状态(父类)

2 运行期状态(子类)

    Java支持向上转型,对象的状态在运行期会进行识别

    支撑点:方法覆盖  & 向上转型 

3、封装 

在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。 

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。 

要访问该类的代码和数据,必须通过严格的接口控制。 

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。 

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。 

public class Student {

/**

* 学生的名称

*/

String stuName;

Student(){

stuName="Tom";

}

/**

* 学生具有学习行为

*/

public void study(){

System.out.println(stuName+"正在学习");

}

}

public class TestStudent {

public static void main(String[] args) {

Student tom = new Student();

tom.study();

}

}

结果:Tom正在学习

效果实现将name封装隐藏,防止外界直接访问。

相关文章

  • Java笔记

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

  • 浅谈java继承、多态、封装

    1、继承 ->is a(你是人,苹果是水果,) 1)语法 public class <子类> extend...

  • Java的基本特性

    关系 Java的四个基本特性分别是抽象,封装,继承,多态。概括起来可以这么理解,抽象、封装、继承是多态的基础,多态...

  • 2020-07-08 腾讯客户端开发面试

    项目经历 java 三大特性?java 可以多继承吗?如何实现多继承?多态有哪些类型?封装,继承,多态;不可以;接...

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

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

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

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

  • Android面试

    JAVA 基础 java的特点 (OOP),封装、继承、多态 ==、equals、hashCode的作用,区别 什...

  • 面向对象三大特性

    三大特性:继承 封装 多态 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来实现多继承。 封装 封...

  • java多态总结

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

  • jvm结构&运行机制&多态实现

    浅析Java虚拟机结构与机制 浅谈多态机制的意义及实现 多态:编译时多态(重载)、运行时多态(继承父类、实现接口)...

网友评论

      本文标题:浅谈java继承、多态、封装

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