方法重写、封装和多态

方法的重写override

          方法的重写(Override):方法的重写,一般用在父子继承中,子类通过重写父亲的方法,用自身的行为替换父亲的行为

        重载(Overload):(形参不同)

Code examples:


Code examples

Operation results:


Operation results

2.toString方法

        toString方法:Object类中定义有public String toString()方法/Object是所有类的根基类,所有的类都会默认继承

其返回值类型是String类型

        Object中toString的定义:

            public String toString() {

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

            }

Code examples:

Code examples

Operation results:

Operation results

3.equals方法和 = =

两者区别:

        = =在比较数值类型的值,其代表的是比较两个数值是否相等;若比较对象时,则比较地址

        equals方法:来源Object,Object中的equals方法的源码如下:默认比较的是内存地址

  public boolean equals(Object obj){

        return (this ==obj);

    }

        可以通过子类重写equals方法实现比较内容是否相等

Code examples:


Code examples

Operation results:

Operation results

4.super关键字

super是直接父类对象的引用,可以通过super来访问父类中被子类覆盖的方法或属性。

    可以对比this进行记忆

    super直接引用父类,  this:是对当前变量的引用   

    1.super关键字直接访问父类 。  super.属性/方法名()

    2.使用super关键字访问父类的构造方法时,必须放在子类构造方法的第一行代码;

Code examples:

Code examples


Code examples


Code examples
Code examples

Operation results:

Operation results

5.Java三大形态——封装

封装的含义:

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

            封装的优点:

            1.提高代码的安全性

            2.提高代码的复用性

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

            4.“低耦合”:简化外部使用,便于调用者使用,便于提高扩展和协作

封装有四大修饰符:

        1.private(私有的)::只能在本类中访问

        2.默认(友好的):本类中可以访问,同包下的其他类可以访问,“只认邻居”(同包下的其他类)“不认远方亲戚”(异包下的子类)

        3.protected(受保护的):本类中可以可以访问,同包下的其他类也可以访问,异包下的其他类也可以访问

        4.public:(公开的):所有类中都可以访问。

Code examples:

Code examples


Code examples

6.get/set方法  也叫Javabean:java组件

特征:

        1.用privat修饰的私有属性

        2.用public修饰共有的getter方法(取值)和setter(赋值)

        3.无参构造方法(可不写)运行的时候会默认加上无参构造,但是,写了有参构造后,就必须加上无参构造

Code examples:

Code examples


Code examples

Operation results:

Operation results

7.多态

多态:提高程序的扩展性和可维护性

        多态指的是同一个方法调用,由于对象不同可能会有不同的行为

        生活中的多态:学生(老师来了#.#,老师走了^-^)水(固态冰,液态水,水蒸气)以及金刚石和石墨

多态的要点:

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

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

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

Code examples:

Code examples

8.对象的转型cashing


向上转型:父类引用指向子类对象,我们称这个过程为向上转型,属于自动类型转换

将子类当作父类进行使用,只能访问父类和子类共有的方法和属性

向下转型:(强制转换):将父类型转换为子类型

Code examples:

Code examples

9.final关键字

三个作用

        1.使用final修饰的变量为常量,不能重新赋值

        2.使用final修饰的类,不能被继承

        3.使用final修饰的方法,不能被重写

Code examples:

Code examples

Code examples:


Code examples

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