Java的一些问题总结
1. 整型数据类型中,需要内存空间最少的是(D)
A) short B) long C) int D) byte
关于这个问题,我认为byte应该是字节型,就不算整型,怎么能选D呢。
2. Java中的default关键字 default关键字是Java8 的新特性,其作用是使用此关键字可以在接口中给接口函数增加默认的实现内容,以方便接口增加新的接口函数后继承自该接口的类也可以编译通过。如下代码:
1 2 3 4 5 6 |
public interface MyInterfact{ public void func1(); default public void func2(){ System.out.println("This is func2"); } } |
3. Java中的native关键字 native用于定义本地方法,即方法的定义是在java中定义,但是其实现是用非java语言实现的
4. Java中的多态性——重载,重载函数不能同时有完全相同的参数(即参数数量和参数数据类型都一致),参数的数量可以与原来的不同,返回值也可以与原来的不同。
5. 子类覆盖父类方法时(注意:是覆盖不是重载),方法的作用域不能低于父类方法的作用域,比如父类用public声明的,子类中就不可以用private或者default声明,另附几个作用域关键字对应的作用范围
|
|
|
|
外部包 |
public |
|
|
|
|
protected | |
|
|
|
default |
|
|
|
|
|
|
|
|
|
6. 一个.java文件中,可以有多个类,但是只能有一个使用public定义的类
7. throw是在一个过程中抛出具体的某个异常(异常类的实例);throws是定义在方法头的可能会抛出的异常,可以同时定义多个异常类。
8. 参与运算时,数据类型会从低精度的数据类型向高精度自动转换
1 2 3 |
int x = 4; System.out.println("value is: " + (x>4?99:9)); //输出结果为:value is: 9 |
改变一下:
1 2 3 |
int x = 4; System.out.println("value is: " + (x>4?99.0:9)); //输出结果为value is: 9.0 |
9. Java中基本数据类型包括byte、int、char、long、float、double、boolean和short
引用数据类型包括:类,数组,接口等(简单来说就是除了基本数据类型之外的所有类型),所以String也是引用类型的
10. Java中抽象类可以有实现方法,但是抽象类不能实例化,所以也无法调用实现方法,其他抽象类的特点
a. 抽象方法 abstract void f(); 抽象方法不能包含有任何方法的BODY 。
b. 如果一个类包含1个或者多个抽象方法, 则该类必须限定为抽象的。
需要在前面指定 abstract 关键字。
(1)抽象类不能被实例化
(2)包含抽象方法的类,必须标识 abstract
c. 如果从一个抽象类继承, 必须对所有抽象方法进行覆盖 , 否则导出类也是抽象的
d. 也可以考虑创建没有任何抽象方法的抽象类 。
11. 如果子类中没有显式调用父类的某个形式的构造函数,子类的构造函数会自动调用父类的无参数的构造函数,不管何种情况基类的无参构造函数肯定会被调用。