向上造型&访问控制符

1.多态:向上造型/重载…
一种事物多种表现形式
1.1 要有继承和实现关系–重写
1.2 重载
案例:早餐店卖包子
1.来早餐店买包子有哪些人? 美女,猛男,
2.去早餐店买 包子店
3.包子店卖包子—>人
public void sale(Beauty b){
}
public void sale(Hunks h){
}
//学生,小孩,国外友人,---->人
//变化代码—>人
//要求:1.猛男,美女都是人的子类
// 2.都必须要重写父类的方法
public void sale(Person p){
}
优势:
1.提高了代码的扩展性-遵循一个原则:里氏替换原则–>开闭原则
2.本质就是多态的一种表现形式
注意:
1.向上造型一定要记得只能调用重写的方法
2.方法调用的时候调用的是子类重写的方法
3.属性绑定的类型,方法绑定的是具体new对象!
4.方法的参数映射匹配是根据类型匹配的!!!
instanceof关键字: <向下造型>
int i=1000; Person p=new Hunks();//一个猛男的人
byte b=(byte)i Beauty b=(Beauty)p;//美女

 A instanceof B 判定A的实例是B的类型,以防出现类型转换错误
 //p是不是美女?
 if(p instanceof Beauty){
 	Beauty b=(Beauty)p;
 }

2.访问控制符
2.1 public:整个项目中都可以访问
2.2 默认的(不写):在同一个package中都可以访问
2.3 private:私有的,只能自己访问
2.4 protected:同包下面都可以访问,不同包的子类也可以访问
2. 非同包的类需要导包(声明)

            本类自己                    同一个包                    非同包子类              非同包非子类            

public T T T T
protected T T T F
默认的 T T F F
private T F F F

3.static 和 final
3.1 static
1.静态变量的访问方式:类名.变量名
2.静态方法的访问方式:类型.方法名()
3.静态加载内存初始化的过程会优先于new对象的过程
4.静态方法可以访问静态变量,不能访问其他非静态的变量或者方法
3.2 final–叶节点
最终的,不可再分的
1.如果final修饰类,类不能被继承
2.如果final修饰方法,该方法不能被重写
3.如果final修饰变量,这个变量是常量,并且不能再次赋值
一般如果final修饰变量,建议和static一起,这样方便使用:
1> static和final 可以任意顺序
2> static final一般用来做常量的定义,格式建议全部大写,
多个字符之间使用下划线隔开

 public static final String LOGIN_NAME="登录名";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值