java基础知识点总结(一)

1.如果main方法被声明为private会怎么样?

  能正常编译,但运行的时候会提示“main方法不是public的”。

2.java里的传引用和传值的区别是什么?

  传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。

3.如果要重写一个对象的equals方法,还要考虑什么?

  hashCode。

4.说明一下public static void main(String args[])这段声明里每个关键词的作用。

  public:main方法是java程序运行调用的第一个方法。因此它必须对java环境可见,所以可见性设置为public。

  static:java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须生命为static。

  void:main方法没有返回值。

  String:是命令行传进参数的类型。

  args:是命令行传进的字符串数组。

5.如果去掉main方法的static修饰符会怎么样?

  程序能正常编译,运行时会抛NoSuchMethodError异常。

6.比较==与equals的区别?

  ①基本数据类型比较

==比较两个值是否相等。相等为true,否则为false。

  ②引用数据类型比较

==比较在内存中存放的地址是否相等,同一个new出来的对象为true,否则为false。

Java中所有的类都继承于Object这个基类,在这个基类中定义了一个equals()方法,这个方法的初始行为是比较对象的内存地址,与==比较结果相同。但在一些类库中重写了equals()方法,如String,Integer,Date这些类中的equals()方法比较的不是内存地址,而是内容。

7.什么是javaAPI?

  javaAPI是大量软件组件的集合,他们提供了大量有用的功能,比如GUI组件。

8.为什么java里没有全局变量?

  全局变量破坏了引用透明性原则,全局变量导致了命名空间的冲突。

9.在System.out.println中的每个关键字分别是什么?

System是系统提供的预定义的final类

  Out是一个PrintStream对象

  println是out对象里的一个重载方法。

10.所有类的父类是什么?

  Object

11.&和&&操作符的区别?

   &表达式在求值的时候,两个操作数都会被求值。

   &&表达式在求值的时候,先计算第一个操作数,如果返回true才回计算第二个操作数,如果第一个操作数返回false,第二个操作数就不会被求值。

12.java是如何处理整型的溢出和下溢的?

Java根据类型的大小,将计算结果中的低阶字节存储到对应的值里面。

13.声明变量和定义变量的区别?

  声明变量我们只是声明变量的类型和名字,并没有进行初始化。

  定义包括声明和初始化两个阶段String s;这只是变量的声明,String s=new String(“ok”)或者String s=“ok”这是定义变量。

14.怎么理解变量?

   变量是一块命名的内存区域,方便程序进行访问。变量可以用来存储数据,随着程序的执行,存储的数据也可能跟着改变。

15.什么是java虚拟机?

   java虚拟机是能够移植到不同硬件平台上的软件系统。

16.main方法的参数里面,字符串数组的第一个参数是什么?

   数组是空的,没有任何元素。不像c或者c++第一个元素默认是程序名。如果命令行没有提供任何参数的话,main方法中的String数组为空,但不是null。

17.怎么判断数组是null还是空?

   输出array.length的值,如果是0说明数组为空;如果是空的话,会抛出空指针异常。

18.程序中可以允许多个类同时拥有main方法吗?

   可以。当程序运行的时候,我们会指定运行的类名。JVM只会在你指定的类中查找main方法。因此多个类拥有main方法并不存在命名冲突的问题。

19.一个类中可以有多个main方法吗?

  可以。但是只有一个main方法拥有以下签名:public static void main(String args[]){}否则程序将无法通过编译。编译器会警告你main方法已经存在。

20.虚拟内存是什么?

   又叫延伸内存,实际上并不存在真实的物理内存。

  

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值