继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

final关键字、static关键字

Qyou
关注TA
已关注
手记 255
粉丝 52
获赞 361


final关键字

继承带来了好处,同时也会有弊端出现,比如有的时候我们不需要继承某些类或者类中成员的时候,就可以用到final的修饰了,它可以修饰类,成员变量,成员方法,以及局部变量。final的意思就是最终的意思,被他修饰的成员变量会变成一个不能改变值的常量,被他修饰的成员方法不能被子类所重写,被它修饰的类不能被继承。

final的特点:

1、 被final修饰的类,不能被其它的类继承,也就是说它是一个最终类,但是这个类可以继承其他类。

2、 被final修饰的方法,不能被其子类所重写,可以被子类所继承。

3、 被final修饰的局部变量,终生不能被改变。

4、 被final修饰的成员变量,只能赋值一次。

static关键字

需要实现对象的共享数据时,需要在数据前面加上static 修饰。也就是说姓名和年龄是一个人特有的数据,那么这个人的国籍就是共有的数据国籍前面就要加static修饰。下面用一段代码来演示:

 Person类

package cn.itcast.Static关键字01;/* * 被static修饰的成员变量和不被修饰的成员变量的区别演示 */public class Person {//共有属性姓名String name;//共享属性国籍static String country;}

 Test测试类

package cn.itcast.Static关键字01;public class Test {public static void main(String[] args) {//创建Person对象,调用共有属性和共享属性看他的运行结果Person p1 = new Person();Person p2 = new Person();p1.name = "李四";p2.name = "王五";System.out.println(p1.name);System.out.println(p2.name);//static修饰的共享属性p1.country = "中国";System.out.println(p1.country);System.out.println(p2.country);//static修饰的属性可以用类名直接调用System.out.println(Person.country);}}

运行结果: 

静态的注意事项:静态成员不能调用非静态成员,因为静态成员是优先于对象存在的,调用的非静态成员是创建对象后才存在的。

多态调用中,编译看谁,运行看谁?

1、编译都看等号左边的父类

2、运行,静态方法,运行静态中的静态方法

3、运行,非静态方法,运行子类中的重写方法

4、成员变量,编译运行全是父类。

定义静态常量的格式:public static final 数据类型 变量名 = 值;

注意:定义final常量它的变量名全部大写,两个单词之间用下划线连接。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP