美文网首页
Java学习day-09:封装和多态

Java学习day-09:封装和多态

作者: 开源oo柒 | 来源:发表于2019-07-17 21:28 被阅读0次

一、toString和Equals重写:

1.toString方法:

在Object根基类中定义的有pubic String toString()方法;返回值类型为String;源码:

public String toString() {

    return getClass().getName() + "@" + Integer.toHexString(hashCode());

}

2.toString方法重写:

代码截图 结果

3.equals和”==”的区别:

(1) “==”代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。

(2)equals方法:在超类Object中equals方法的源码(默认比较的是内存地址):

public boolean equals(Object obj){

return(this==obj)

(3)通过子类重写equals方法实现比较内容是否相等;

代码截图 结果

二、super关键字:

1.super:

 (1) super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。对比this进行记忆。

(2)super可以直接访问父类的属性和方法:super.属性;super.方法名()。

(3)使用super关键字访问父类的构造方法,必须放在子类构造方法的第一行代码。

代码截图 结果

2.继承树追溯:

(1)从子类依次可以上溯到父类,直到Object;然后返回值。

(2)构造方法的第一句总是(super())来调用对应的父类构造方法。

(3)追溯执行测试:

代码截图 结果

三、封装:

1.封装的含义:

需要让用户知道的才暴露出来,不需要让用户知道的全部隐藏起来。

2.封装的优点:

(1)提高代码的安全性;

(2)提高代码的复用性;

(3)“高内聚”:封装细节,便于修改内部代码,提高可维护性;

(4)“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。

3.没有封装的情况:

代码截图 结果

4.控制访问符:

(1)private 表示私有,只有自己类能访问;

(2)default表示没有修饰符修饰,只有同一个包的类能访问;

(3) protected表示可以被同一个包的类以及其他包中的子类访问;

(4) public表示可以被该项目的所有包中的所有类访问。

代码截图 结果

5.javabean:

(1)使用private访问权限;属性使用private修饰;

(2) 提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的;

(3)无参构造方法。

代码截图 结果

四、多态性:

1.多态:

(1)指的是同一个方法的调用,由于对象的不同可能会有不同的行为。

(2)多态的优点:提高程序的扩展性和可维护性。

(3)多态的要点:

多态是方法的多态,不是属性的多态(多态与属性无关);

多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象;

父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。

代码截图 结果

2.对象的转型:

(1)向上转型:父类引用指向子类对象,我们称这个过程称为向上转型,属于自动类型转换;将子类当做父类使用,只能访问父类和子类公有的方法和属性;

(2)向下转型:将父类类型转换为子类类型;

(3)为了防止出现类型转换异常,使用instanceof运算符进行判断;

代码截图 结果

(4)final关键字:

1.修饰变量:被final修饰的变量不可改变,一旦赋值,就不能被重新赋值;

2.修饰方法:该方法不能被重写。可以被重载;

3.修饰的类不能被继承。

相关文章

  • Java学习day-09:封装和多态

    一、toString和Equals重写: 1.toString方法: 在Object根基类中定义的有pubic S...

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

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

  • Java笔记

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

  • 类的封装继承与多态

    随着昨天的学习我们已经掌握了java中类的继承,下面我们来看看java的三大特性的其他两个,封装和多态!目录 封装...

  • JavaSE基础知识学习-----多态

    多态 Java面向对象编程有三大特性:封装,继承和多态封装隐藏类的内部具体实现机制,保护数据,对外界隐藏内部细节,...

  • 类似——外观模式

    学习Java,有三大特性:封装、多态、继承。 上次说到:学习设计模式,是了解多态这个特性,非常好的一个途径。 另外...

  • Java的基本特性

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

  • java多态总结

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

  • iOS 语言三大特性

    封装 、 继承、多态OC学习篇之---类的三大特性(封装,继承,多态) - Android应用安全防护和逆向分析-...

  • 一个java初级程序员面试时最常见的问题

    学习过Java的程序员都知道,java类有三大特征——封装、继承和多态。下面的文章给大家详细的介绍一下java的这...

网友评论

      本文标题:Java学习day-09:封装和多态

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