面 试 题
01、 两者的意义是什么?如何配置 意义是什么 配置? 01、 path 和 classpath 两者的意义是什么?如何配置?
意义: path—外部命令搜索路径。 classpath—类资源位置
搜索路径。 配置: 在
系统的高级中打开环境变量,添加新的环境变量 变量名:Path 变量值:jdk 安装路径\bin 变量值:jdk 安装路径\lib\tools.jar;.;jdk 安装路径\lib\dt.jar 变量名:CLASSPATH
02、构造方法的特殊之处在哪里? 02、构造方法的特殊之处在哪里? 特殊之处在哪里
1. 2. 3. 4. 与类同名,首字母大写; 无返回值也不加 void,而且绝对不会有返回值; 在 new 的时候调用,是对类进行初始化的; 若无显示定义的构造方法,则自动生成一个 default 的构造方法;若有,则 default 自动失效.
03、 的类的成员的初始化顺序如何?什么是缓式初始化 初始化顺序如何 缓式初始化? 03、Java 的类的成员的初始化顺序如何?什么是缓式初始化?
首先初始化所有的成员变量,然后初始化构造方法.最后初始化普通方法 而且普通方法只有在“对象名.方法名”中才会被初始化,这就是缓式初始化.
04、数组的初始化有几种方式?动态初始化有哪些步骤? 04、数组的初始化有几种方式?动态初始化有哪些步骤? 几种方式 哪些步骤
数组的初始化有 2 种方式:静态与动态。 动态初始化有三个步骤: 1,声明; 2,创建; 3,赋值.
05、面向对象的特性是什么?具体每一个特性的含义? 05、面向对象的特性是什么?具体每一个特性的含义? 是什么 含义
OOP 三大特性:封装,继承与多态. 封装: 1,把功能和属性包装成类.通过类的实例来实现; 2,隐藏实现的细节; 3,通过包把类组织起来(强内聚,弱耦合); 4,访问权限的控制. 继承: 1,子类自动拥有父类非 private 的属性和功能; 2,子类还可以拥有自己所特有的属性和功能; 3,子类可以继承父类的属性和功能,并加以修改,以自己的方式来实现.
多态: 1,子类能以父类的身份出现; 2,在做事情时,以子类自己的方式进行; 3,子类以父类的身份出现,则子类自己特有的功能不能再使用.若想实现子类特有的功能,可使用 RTTI(执行期型别辨识)
06、方法重载与方法重写的区别是什么?两者的作用又是什么? 06、方法重载与方法重写的区别是什么?两者的作用又是什么? 区别是什么 作用又是什么
方法重载:同一个类中,方法名相同,参数不同,方法体不同; 方法重写:不同的类中,方法体不同,参数相同,方法名也相同. (两同两不同) 方法重载的作用: 方法重写的作用: 在有多个同名参数的类中,在调用时通过不同的参数来调用不同的方法. 在继承中,子类可用方法重写,对父类进行扩充或改造.
07、什么是名称遮蔽?什么是虚方法调
用?如何绕过名称遮蔽和虚方法调用? 07、什么是名称遮蔽?什么是虚方法调用?如何绕过名称遮蔽和虚方法调用? 名称遮蔽 虚方法调用 名称遮蔽和虚方法调用
名称遮蔽: 需方法调用: 子类中若对父类进行方法重写,出现与父类同名的属性,则会将父类中与其同名的属性 遮蔽掉. 在多态的情况下,父类中声明的变量,只能调用父类的方法,子类中若对父类的方法 进行过方法重写,且此变量调用的是子类重写后的方法,这就是需方法调用. 在子类中,如果要调用父类的构造方法,必须使用 super(参数);调用,若要调用父类的普通方法则用 super.方法名;调用.且子类中对 super 的调用必须是子类构造方法所做的第一件事.这样便可以绕 过名称遮蔽和需方法调用.
08、接口与抽象类的区别是什么?接口中的成员有何特点? 08 、 接口与抽象类的区别是什么 ? 接口中的成员有何特点 ? java 有多重继承 么?
接口: 抽象类: 特殊的抽象类.只包含常量和方法的定义,无变量和方法的实现; 用 abstract 来修饰.抽象类无方法体;不一定有抽象方法,但有抽象方法的一定是抽象类; 只能通过子类的实例,以父类的身份出现;非抽象