面试零碎小知识点

1 数据类型

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

对应字节数:1 2 2—>4 8 4 8

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:把一个高级别的变量赋给一个级别低的变量;

 

2 标识符的定义

已字母,_,$开头,由字母,数字,_,$组成。不能为Java关键字,大小写敏感。

 

3 重载和覆盖

重载条件:同一个类中,方法名相同,参数签名不同(参数个数,参数顺序,参数类型),返回值无关,修饰符无关。

覆盖条件:父子类中,方法名相同,参数签名相同,返回类型相同。另外还需满足(1)子类方法不能缩小父类方法的访问权限,如父类方法修饰符为public,子类不能为private。(2)子类方法不能抛出比父类方法更多的异常。如果父类抛出IOExceoption,子类不能抛出Exception,必须抛出相同的异常或者父类异常的子类。(3)方法覆盖只存在父类和子类中。

 

4 this关键字

this表示这个对象   另外也在构造器中调用构造器时使用。

 

5 Java传值引用

 

6 访问权限修饰符

private  允许本类中访问

protected  允许本类,子类,以及同一个包内可访问

缺省       允许本类,同一个包内访问

public    任何地方都可以访问

 

7 接口与抽象类

抽象类的特点:

抽象方法必须存在于抽象类中。

抽象类中可以无抽象方法,也可以存在非抽象方法。

抽象类不能被创建对象(即实例化)。子类必须覆盖抽象方法,才能实例化。

abstract关键字不能被final,static,private修饰。

abstract不能被static修饰的原因:static方法在不创建对象时也可以调用,所以方法体(body)也应该被定义,若无方法体,也就是不能以”类名。方法名()”的形式对其调用,所以abstract方法(无方法体)不能被static关键字修饰。

 

8 final关键字

被final修饰的类,不可以被继承。

被final修饰的方法,不可以被覆盖。

被fianl修饰的变量,不能改变值。

 

9 泛型

作用:增加Java类型的安全。

 

10 封装,继承,多态

封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。


你可能感兴趣的:(Java,Basic)