• 150455

    文章

  • 1003

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

一分钟让你学会JAVA的特殊关键词


1.public

应该是最常用的一个关键词了。它表明方法、类、参数是公开的,可以在项目中的任何地方访问。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

2.private

私有的,它表明只能在类的内部访问,是封装的体现。

3.protected

主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。

4.default

有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。(这个关键词我没怎么用过…)

5.final

final修饰的属性或者变量是不可改变的,对于引用类型变量来说,是地址不能改变,如数组。

final修饰的方法可以被继承,但是不能被重写。

final修饰的类,不能被继承。

6.static

静态。静态方法:不依赖任何对象,可以直接进行访问。在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。

取一道笔试题·

public class NULL { 
    public static void haha(){
        System.out.println("haha");
    } public static void main(String[] args) {
        ((NULL)null).haha();
    }
}//加入Java开发交流君样:756584822一起吹水聊天

这题答案为输出haha。

因为null值可以强制转换为任何java类类型。但null强制转换后是无效对象,其返回值还是为null,而static方法的调用是和类名绑定的,不借助对象进行访问所以能正确输出。反过来,没有static修饰就只能用对象进行访问,使用null调用对象肯定会报空指针错了。

  • static变量也称作静态变量

静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

  • static成员变量的初始化顺序按照定义的顺序进行初始化。

static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

为什么说static块可以用来优化程序性能,是因为它的特性:只会在类加载的时候执行一次。

image

最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:756584822


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客