面向对象
什么是类?
类是一组具有相同属性、操作和关系的同类事物描述,是抽象的,概念上的定义。
什么是对象?
是实际存在的该类事物的个体,也称为实例。
类和对象的区别是什么?
类是集合、是抽象的、是制造对象的模板、是数据结构和行为的定义。
对象是个体、是具体、是类的实例、是数据。
如何定义一个类、类的属性和方法?
定义类属性,对象共同的特征,共同的行为是方法。
public class 类名{} 定义一个类
如何创建类的对象?
类名 对象名 = new 类名()
构造方法有什么作用?
构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法。
通过构造方法实例化对象的时候有什么特点?
如果不添加带参数的构造方法,那么默认只能使用无参数的构造方法,如果加了带参数的构造方法,而没有添加无参数的构造方法,则只能使用带参数的构造方法,如添加的无参数构造方法,又添加了带参数构造方法,则带参数构造方法会覆盖无参数构造方法。
1.方法重写与方法重载的区别?
方法重写是指类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写。
所谓方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。
抽象类和接口的区别?
抽象类中可以有抽象方法,也可以没有抽象方法(抽象方法用于约束子类的行为),抽象类中可以包含成员属性和普通方法。一个类中如果包含抽象方法,则这个类必须定义为抽象类。一个类继承抽象类,要么实现抽象类中所有抽象方法,要么也是抽象类。抽象类可以有构造方法,但是不能实例化,构造方法用于子类调用。抽象类必须被继承。
接口中只有public final修饰的变量(常量)和public abstract修饰的抽象方法。不能含有其他。一个类不可以同时继承多个抽象类,但可以同时实现多个接口。借助接口可以实现多继承。
封装的目的和意义?
封装可以有选择性的公开或隐藏某些信息,提供公共的的访问方式,提高了代码的复用性和安全性
可以控制实现某些业务逻辑。
如何实现封装?
可以将类的属性和方法私有化,把细节隐藏起来,使用private或protected等关键字修饰属性或放方法。
get和set方法的意义和书写形式?
一般我在类中定义了private属性和方法。在外部不允许用户操作这些属性。但在某些时候我们在外部又必须对这些属性进行操作。于是我们定义相关的set和get方法可以在外部对这些属性操作。这样提高了数据的安全性。
什么是方法重载?返回值不同能不能作为方法重载的条件?形式参数名不同能不能作为重载条件?
重载是用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,却使用不同的参数列表,编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法。
返回值不同不能作为方法重载的条件。
形参不同可以作为重载条件。
构造方法可不可以重载?
可以重载,带参数构造方法就相当重载。
static关键字的作用?【重点】
static关键字修饰的变量或方法会在内存空间开辟一个地址空间,所有对象共享这个内存空间。
静态变量和成员变量的区别?【重点、难点】
成员变量有各自的内存空间,静态变量是类开辟的一个地址空间,所有对象共享这个地址空间。
包,打包和导包分别使用什么关键字?
包 类似与文件夹
打包的关键子 package
导包 的关键字 import
一个java文件中允不允许有多行package语句?允不允许有多个import语句?
一个java文件只允许一行package语句 ,可以有多条import语句。
哪个包中的类不需要导包?
java.lang包不需要导