javase简单入门8 方法重写,final,静态块

【学习笔记】

【has a 谁有谁 车有轮子】【 isa 谁是谁  形状是正方形,车是小轿车】【 like a谁像谁】------------【小方法要单独提出来】

方法的重写

接口

OOP小结

-------

集合

异常

JDBC

 

 

-------------------------------------------------------------------------------------------------------------------------

一、【方法重写】

 

重写与重载的区别:

重载:在同一个类里面,方法名完全一样,参数列表不一样

重写:要求在【子类】中对【父类】的方法实现进行重写

语法特征:

(1)子类的方法名与父类的方法名要一致,

(2)参数列表(数量和对应位置的数据类型)也要一致

(3)子类方法的返回值类型和父类方法的返回值类型要么一致,要么前者(子)的类型是后者(父)类型的子类(JDK5后)

(4)在重写的时候子类方法的访问修饰符不能比父类的小(可以更大或一样)

(5)子类子类声明抛出的异常范围不能比父类的大(待续)

限制:私有方法不可以被重写,静态方法不可以被重写,final修饰的方法不可被重写

 

注解@Override 加在重写的方法上时,当方法不属于重写时会报错

 

*********模板方法设计模式**********(了解)

       *单利**工厂**模板方法*

 

在实战中常用重写方法:直接将子类的方法与父类的方法保持一致(直接敲父类的方法名 根据提示)

 

 

-------------------------------------------------------------------------------------------------------------------------

 

 

二、【针对object来重写子类的方法】

1、println():该方法会【自动调用】参数的toString();--------当内容是实例时会显示哈希值,

找一个方法时,子类中没有时会到父类去找

returngetClass().getName() + "@" + Integer.toHexString(hashCode());

类.类名                                得到哈希值

 

----------------------String内容比较用equals比较稳定 特殊情况也能用“==” 推荐使用equals-----------------------------

例:Strings1="abc";  Strings2="a"+"b"+"c" s1==s2  ==>true  (面试考的常量值,速度更快)

 

2、eqauls():在object中默认是与==一样的,在开发中一般会重写该方法,实现自己的比较逻辑

 

面试题:equals与==的区别

 

hashCode(),clone():待续 哈希和克隆

 

 

--------------------------------------------------------------------------------------------------------------------------

 

 

三、【final关键字】

 

修饰一个变量:局部变量里声明一个final可以先声明后赋初值(只能一次),在类中(全局)在声明的同时就必须赋初值。

 

命名规则:全大写命名

--------------------当用final修饰一个实例的话,可以修改里面的属性,但不能重新使用构造方法,因为在实例化的时候赋了地址,地址不能更改-----------

 

修饰一个方法:该方法不可被子类重写

修饰一个类:不能被子类继承

 

JDK中常见的final类:String

 

-------------------------------------------------------------------------------------------------------------------------------------------

四、【访问控制修饰符】

 

public:公共的全局的,包包之间    ---如果一个类是public 在另一个包中new的时候要构造方法也要public  不然没法new出来(不允许new的就是单利模式)

protected:受保护的,同一个包中可以访问,可以在任何子类(有可能不是同一个包)中访问==>

默认:同一个包中的代码可以访问

private:私有的

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值