Java错题整理

1.int a=‘a’ 可以编译通过,可以运行,结果97,此时a取的是字符的ASC值
不同于double b = (double)sum/n;要将其中一个int型值变为double后,才会进行自动类型转换,否则小数点后的部分,再sum/n时就不取了

2.int[] a={ ‘a’ ,1,2,3} 可以

3.short 2^15 -32768~32768-1

4.x=1;
y=2;
if(x 2&& y3){ x=8;}
输出结果是x=2,y=2。陷阱:虽然if里的语句不执行,x!=8,但是x在进行比较运算后会自增,这是隐含计算,没有显示但是发生了。

5.int[] a= new int[4]{}是错误写法,有大括号就不要自己定义数组长度,这是静态赋值,jvm会根据大括号里的元素自己计算数组长度
正确写法,1.int[] a={};
2.int[] a= new int[]{}

6.子类无参构造器里默认继承父类的无参构造器,在给子类创建无参实例时,也会默认调用父类的无参构造器

7.子类中所有的构造器里(是所有,无参的,有参的)都会默认访问父类的无参构造器。当父类中没有无参构造器,子类中的构造器必须使用this(),或者super()访问本类或者父类的构造器。

接口是一种特殊的抽象类,接口里只有抽象方法和“常量”的定义,没有方法和“变量”,a就是实现类可以实现接口中的方法(功能)

final修饰变量,方法,类
修饰变量:变成常量,使用前必须为常量赋初始值(构造器,显示赋值,代码块)
修饰方法:不能被重写
修饰类:不能被继承

(final修饰类和方法互不影响,不要与abstract混淆,有abstract修饰的方法的类也要被abstract修饰)

以下代码说明了,"“可以调用方法,”"其实是字符串对象,但是null不行,null只作为引用类型的值

String str="";String str1=null;str.equals(str1);//falsestr1.equals(str);//nullPointerException

InputStream ,OutputStream,Reader,Writer是四个i/o流 基类,,它们是抽象类!抽象类!抽象类!

来源:https://www.icode9.com/content-1-827301.html

(0)

相关推荐