javaSe基础学习总结8

访问修饰符
资源(类,属性(成员变量,静态变量),方法)被访问的位置!
四个级别 访问的位置
public 公共的 1)本类中 2)同包中所有的类 3)其他包的子类中 4)其他包的普通类
protected 受保护的 1)本类中 2)同包中所有的类 3)其他包的子类中
default(没有该关键字,默认的) 1)本类中 2)同包中所有的类
private 私有的 1)本类中

控制的资源
类:普通类只能使用public或default
方法和属性:四个级别都可以使用
注意点
1)如果我们修饰的资源-在某一个位置不能访问的时候-会出现编译错误(xxxx is not visible)

javabean的规范
作用-规范了访问类的数据的方式(读:获取数据 写:修改数据)
语法
1)数据私有化 private
2)需要读取数据:定义get方法
语法:
public 对应数据的类型 get对应数据的名字-首字母大写(){//返回对应的数据}
3)需要修改数据:定义set方法
语法:
public void set对应数据的名字-首字母大写(对应数据的类型 接收修改数据的参数){//修改对应的数据}

继承
继承指的是如果一个类A是另一个类B,那么就说A继承了B;
作用(好处):子类型可以直接使用【超类型(子类型继承链上所有的类型)】定义的【数据和功能】
语法
实现:人继承动物
class 人 extends 动物{}
注意点
1)java类的继承-单继承-类只能继承一个类
2)java类如果没有显示的编写extends那么默认extends Object 所有所的类都直接或间距继承object-》obejct类是所有的引用类型(类,数组,接口)的老大
3)超类型里定义的私有资源 子类型继承了,但是不能直接访问->可以间距访问(通过公共方法的访问)

重写:
子类继承父类已有的功能不满足子类要求,子类重写(重新编写对应的方法)代码完成相应的业务,子类调用有重写的方法,会执行自己的而不是继承链的。
方法重写的语法
1)要有超类型和子类型
2)针对的是成员方法(面向对象)
3)超类型和子类型的方法定义的关系
a)方法签名(方法名和参数列表)
超类型==子类型
b)访问修饰符
超类型<=子类型
》子类型要比父类型跟开放
注意点:父类型不能为private
c)返回值类型
1)void和基本类型
超类型==子类型
2)引用类型
超类型>=子类型

检查方法是否重写
》在子类型方法上加@Override
a)编译通过-》完成重写
b)编译错误 -》没有重写

对比重载重写
重载:当前类新定义方法和当前类已有方法(功能类似(方法名相同)-形参不同),重载利于学习使用新方法。
重写:当前类新定义方法和继承链已有方法(功能相同(方法名相同)-形参相同),重写,屏蔽不适用的继承方法,利于学习,为多态建立基础!

引用类型的类型转换
原因-》引用类型的值(对象)可以在多个类型存储-存在类型转换问题
例如;
柳岩对象)->中国人,人,明星,动物
张锦对象)->中国人,人,动物
类型转换分类
类型A a=类型B的值;
1)自动类型转换
语法:
超类型A a=子类型B的值;
2)手动(强制)类型转换
语法:
子类型A a=(子类型A)超类型B的值;
对于类型
1)编译器:(编译看引用类型)只知道引用的类型,不知道引用指向的对象的类型
2)jvm:(运行看对象类型)执行的代码-执行是对象类型的代码
注意点
1)强制转换的时候-类型之间必须可以转换-否则出现ClassCastException

可以通过instanceof 运算符 检查类型是否可以进行转换
语法:
引用变量 instanceof 目标类型
》作用判断引用变量对应的【对象类型】 是否可以转换为目标类型
true:可以转换
false:不能转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值