java关键字的适用总结

1. 静态方法里不能定义静态变量。因为静态变量是需要在类加载的时候加载到内存中的,但是如果把静态变量定义在静态方法内部,这样,加载类的时候,就不会加载该静态方法,所以会产生矛盾。

2. 静态方法不能调用非静态的方法和变量。需要创建对象来调用。因为,静态方法不需要创建对象就可以直接调用,这时候如果调用了非静态的方法或者变量,不能保证该非静态的方法或者变量是否已经创建了对象。

3. 非静态方法是可以调用非静态的方法和变量的,也可以调用静态的方法和变量。因为非静态的方法必然是有对应的一个对象的,说明这个对象已经建立了,那么类中的方法也必然有确定的对象,所以相当于已经创建了对象,可以直接调用。

4. 对于覆盖有3种不能构成覆盖 1 方法是静态方法 2 被private修饰 3 被final修饰

(1)private方法不能被继承,也就不存在重写。可以写与父类一个一模一样的方法,但是这两个方法没有联系。private方法只能在类的内部里使用。

(2)static方法能被继承且可以重写:若重写: 父类  a=new 子类() a编译时引用类决定调用的方法,运行时调用的方法是引用类的方法,即有多态的存在。

(3)final 方法不能被继承和重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值