JAVA_零碎知识点

1.什么是类?什么是对象?

   不深究官方的文档解释!个人觉得“我是一个人”,这可以理解为是一个对象,“我是一个会打球,会编程,会泡妞的人”,这就是一个类!!

2.一个java文件中是否可以包含多个“类”(不包括内部类)?

   可以包含多个类,但是只能含有一个public类,且类名要跟文件名相同!

3.&和&&的区别?

   &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则

结果为false。&&具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式!&不具备短路的功能,第一个表达式为false时还会计算第二个表式,

为什么呢?个人猜测是&的根本是与运算,需要知道两个参数,然后进行与计算(二进制:两个同时为1,结果才为1),因此它需计算两个表达式的,这个想法只是

想,还没有去验证!希望大家不要在意!看看就好,听听就算,很多想法我只是记录在博客,等有时间再去认证!

4.switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 

   在switch语句中,参数只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转为

int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不

作用于swtich语句中。

5.是否可以从一个static方法内部发出对非static方法的调用?(静态方法是否可以调用非静态方法?)

   不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以

接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是到

哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部不可以发出对非static方法的调用。

   静态变量存储在静态存储区,程序启动时就分配空间,程序退出时释放。

   普通成员变量在类实例化时分配空间,释放类的时候释放空间,存储在栈或堆中。

6.Integer与int的区别

   int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认为

null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况

你可能感兴趣的:(java)