java

蹲街弑〆低调 提交于 2019-12-22 01:21:38
  1. 作用域:public private protected 默认的区别
      public:在同一项目中,被public修饰的在任何地方都可以被调用

private:被private修饰的,只能在本类中被调用,其他地方都不可以调用

protected:被protected修饰的,可以在本类中,同包下的不同类中,不同包下的子类中被访问

默认:在本类中,同包下的类中被访问,其他地方不可以被访问

  1. 构造器Constructor 是否可以被Override(重写)
      构造器不能被继承,所以不能被重写,但可以被重载

  2. .java源文件是否可以包括多个类(不是内部类)?有什么限制?
      答:可以有多个类,但只能有一个public类,public的类必须和文件名相同

  3. Java中有没有 goto?
      在C/C++中,goto常被用于跳出多重循环。但goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。实际上,自从“goto有害论”提出后,软件开发就不建议使用  goto了,但是Java中依然保留了goto这个关键字留作备用,但这个关键字没有任何作用,只是为了将来可能的扩展,防止使用goto作为程序中的标识符。
      类似地,Java中的const也只是一个不起作用的保留关键字(不具备C语言中定义常量的作用,Java中要想定义常量使用final关键字),与goto一样防止作为程序中的标识符。

  4. &和&&的区别?
      其实在java中两者都表示“并且”的意思

&:if(a>b&a<c){}

不管第一个表达式是true还是false 都会执行第二个表达式

&&:if(a>b&&a<c){}

如果第一个表达式是false,那么将不会再执行第二表达式,整个表达式的结果为false

如果第一个表达式为true,那么将会判断第二个表达式,如果第二个表达式也是true,那么整个表达式的结果为true,反之第二个表达式是false那么整个结果就为false

结论:就效率而言,后者优于前者。

  1. switch语句中的表达式可以是什么类型?
      JDK1.7版本以前可以使用:int、short、byte、char、枚举类型

JDK1.7版本以后可以是用:int、short、byte、char、枚举类型 long String

7.short s1=1; s1=s1+1; 和 short s1=1; s1+=1; 两者有什么区别?
  前者s1=s1+1; 会将整个表达式提升为int 类型 s1此时的值是int类型;需要强制转换,否则编译错误

后者s1+=1; java语言规定的运算符,java编译器会进行特殊处理,因此可以正常编译

8.char类型变量中能否存储一个中文汉字?
  char类型是存储Unicode编码字符的,unicode编码字符集中包含了汉字。所以char类型变量中可以存储一个汉字的。如果一个特殊汉字没有被unicode编码字符集包括,那么char变量也是不能存储这个字符的

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!