栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java关键字final、static、this、super总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java关键字final、static、this、super总结

一、final关键字:

final关键字特点:

1、final修饰的类不能被继承

2、final修饰的方法不能被重写

3、如果final修饰的变量是基本数据类型,那么一旦被初始化后就不能更改;如果final修饰的是引用数据类型,那么一旦初始化后就不能指向其他对象。

4、final不能修饰构造方法(构造器不是通过继承得到的,所以没有必要)

使用final修饰的方法的原因:

1、方法锁定,不能被继承类重写或修改

2、高效(Java早期版本,会将final修饰的方法转为内嵌调用,但是如果方法过于庞大,优化的效果甚微;因此现在的Java版本已经不采用这种优化)

二、static关键字:

static使用场景:

1、修饰成员变量和成员方法:static修饰的成员变量、成员方法属于类,调用时可用:类名.变量名或类名.方法名

2、静态代码块:静态代码块在JVM加载类时,会执行一次(仅执行一次);而非静态代码块在每new一次,就会执行一次。静态代码块在非静态代码块之前执行(以此流程:静态-》非静态》构造方法)

3、静态内部类(static修饰类只能是内部类):静态内部类与非静态内部类区别:非静态内部类在编译后会隐含地会保存一个引用,指向创建它的外围类;而静态内部类没有。没有引用意味着它:不依赖外围类;不能调用外围类的非static的变量和方法。

4、静态导包(用来导入类中的静态资源)

三、this关键字&super关键字:

this指向当前类的对象,super指代父类。

this用法:

①使用this引用隐藏数据域

public class F{
private int i=1;
private static double k=0;

public void setI(int i){
    this.i=i;//this引用隐藏数据域
}

public static void setK(double k){
    F.k=k;
}
}

②使用this调用同类的构造方法

public class Circle{
    private double r;
    public Circle(Double r){
        this.r=r;//使用this引用隐藏数据域
}
    public Circle(){
        this(1,0);//调用同类中另一个构造方法(this()放在构造方法的第一行)
}

③引用对象自身属性和方法

        this.属性名/方法名()(通常this都是省略掉的。。。)

super关键字用法:

①调用父类的构造方法

public Circle(double radius,String color,boolean filled){
    super(color,filled);//调用父类构造方法时,super()必须放在第一行
    this.radius=radius;
}

②调用父类的方法

       super.父类方法名(参数)

自己总结,有错请指正!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/719233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号