栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面试题01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面试题01

1.什么是面向对象?面向对象的特点是什么?

面试对象是一种编程思想,指导我们解决问题的方式。

遇到问题,分析问题。通过分析,抽象成类,以类为模板,创建对象。使用对象的属性和方法,处理问题。
特点:封装,继承,多态,抽象。

 2.方法的重载和方法的重写有什么区别?

方法的重载:在同一个类中,允许多个方法的方法名相同但参数不同

原则:方法名相同,参数名必须不同

方法的重写:子类继承父类,在子类中对父类方法重新定义的现象

原则:方法名相同;参数相同;返回值类型相同;访问修饰符>=父类的;

3.this和super区别?

this的用法:当前对象

1.当前成员变量与局部变量重名时,用this访问成员变量

2.在当前类的构造器中,调用另一个构造器  this(实参) 必须是第一句

package this_constructor;
class Person {
	String name;
	int age;
	public Person() {
		System.out.println("Person() constructor!");
	}
	public Person(String name, int age) {
		this();	// this的第二种用法调用本类中无参构造方法
		this.name = name;//this的第一种用法
		this.age = age;
		System.out.println("Person(String name, int age) constructor!");
	}
}

super的用法:父类的

1.子类的属性和方法与父类重名,使用super调用父类的属性和方法。
super.属性名
super.方法名(实参)

2.在子类构造器中调用父类的构造器,使用super调用。
super(实参)

默认调用的是父类无参构造器,可以省略。
必须是第一句。

 4.多态产生的条件是什么?

前提条件:
继承、方法的重写、向上转型

5.静态变量和实例变量的区别?

静态变量是属于类的,可以共享给所有对象使用

实例变量是属于变量的,每一个对象独有自己的实例变量

 6.抽象类和接口的区别?

区别:
抽象类使用abstract class;接口是interface。
抽象类是单继承;接口是多继承。
抽象类中有构造器;接口中不能定义构造器。
抽象类中没有缺省方法;接口中有缺省方法。
抽象类中有变量属性;接口中只能定义常量属性。
抽象类主要是用来继承extends的;接口主要用类实现implements的。

7.请简述类加载的过程?  

(1)加载阶段
通过类名找到字节码文件,读取文件内容进行解析,创建Class对象保存属性、方法、构造器。
(2)连接阶段
验证阶段:验证类是否合法和安全问题。
准备阶段:在方法区为静态变量开辟空间,赋缺省值;为常量属性开辟空间赋初始值。
解析阶段:将符号引用转为直接引用。
(3)初始化阶段
执行属性的初始化语句和静态块,为静态变量赋予初始值。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号