Java面向对象基础复习

封装

public的变量可以被对象用.的方式引用,但不如↓

将变量定为private,然后加getset方法,保护变量保证封装

继承

Java不支持多继承

 构造方法

构造方法不能被继承!!!

但是:

默认存在super()

而子类调用父类有参构造,则需要手写super()

变量

private的成员变量可以被子类继承,但不能被引用。Java官方文档的解释:子类不能继承父类的私有属性,但是如果子类中公有的方法影响到了父类私有属性,那么私有属性是能够被子类使用的。

可认为是不能继承?

所以子类可以通过继承自父类的setter和getter方法访问持有的父类的私有变量。见上面封装写的

方法

private的成员方法不能被子类继承

上转型!

↓上转型对象留下了重写的,但是子类有而父类没有的被去除了!

上转型对象不能访问子类新增的数据域;不能直接访问子类新增的方法(子类中定义的覆盖、隐藏方法不算新增)。只有当对象类型强制转换为子类类型,才能进行相应的调用

上转型对象可以访问子类从父类继承来的数据域、方法或子类中对父类覆盖重写的实例方法,但不能直接访问子类中对父类隐藏重写的静态方法和对父类隐藏定义的数据域。
如果子类覆盖了父类的某个实例方法后,当用上转型对象调用这个实例方法时,一定是调用子类中的这个实例方法。
如果子类隐藏了父类的某个静态方法后,当用上转型对象调用这个静态方法时,一定是调用父类中的这个静态方法,而不是子类中的这个静态方法,输出的值若为静态变量也应该是父类中的静态变量。

总结留下的:父类的,子类重写的(static的留下的是父类的)

另外,上转型对象可以强制转回子类

调用构造方法时也是先父后子,但是如果构造方法里面调用了子类重写的方法,用子类的

static

如果用static修饰变量(静态变量),可以只赋值一次,然后这个类的对象都默认这个值(被所有对象共享)。建议使用时,用类而不是对象来引用

(实际上,static修饰的东西属于类本身,而不是属于对象)

静态方法常用作工具类。只能访问静态变量和静态方法。没有this关键字

非静态都可以访问

final

内部类

另外有静态内部类,局部内部类,匿名内部类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值