简答题
- 说明final和static各自的作用
static
- static可以修饰成员变量和成员方法
- 修饰成员变量时,这就是类变量,类变量可以被该类的任何一个对象访问,也就是这个对象是属于这个类的,于是可以不用新建对象就被调用。
- 修饰成员方法时,这个方法就是类方法,可以 直接使用类名.类方法名调用
fianl
- final可用来修饰类,方法,和变量
- final修饰的类不能被继承
- fianl修饰的方法不能被重写
- fianl修饰的变量不能被重新赋值
- 试解释方法覆盖和方法重载
方法覆盖
- 子类与父类的方法一样时(返回值类型,方法名称,参数列表),就会出现重写,声明不变,方法重写。
方法重载
- 同一个类中,方法名称一样但参数列表不同时就会产生方法重载,方法重载与返回值类型无关。
- Java中有哪几种访问控制符?并说明各自的作用范围。
public>protected>default>private
public>protected>default>private | public | protected | default | privated |
---|---|---|---|---|
同一个类 | yes | yes | yes | yes |
同一个包不同类 | yes | yes | yes | no |
不同包的子类 | yes | yes | no | no |
不同包 | yes | no | no | no |
一个父包底下的子包内容和父包内容也算在不同包
- 什么是构造方法
- 定义:构造方法是专门用来创建对象的方法,当我们用new创建对象时,本质上就是调用构造方法
- 构造方法的格式为
public 类名(参数){方法体}
构造名的方法名要和类名相同,大小写也要一样,构造方法不需要void
- 多态访问成员变量的两种方式(编译看左,运行看左)
- 直接通过对象名称访问:看等号左边是谁就是,就优先用谁,没有则向上找
- 间接通过成员方法访问:该方法属于谁,就优先用谁,没有则向上找
- 多态访问成员方法
- 编译看左边,运行看右边
instanceof
dog instanceof animal //判断前面的对象能不能当作后面类的实例
- Java的基本数据类型有哪些?String是不是基本类型
-
4类8种,4类是指整数,浮点,字符,布尔 8种:byte int short long char float double boolean
-
String 不是基本类型
- 什么是继承
- 通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法
- 什么叫做类与类的继承,作用是什么?
- 就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。
- 作用是子类复用父类内容。
- 继承后,父类与子类之间,各成员有什么样的影响?
- 成员变量:
- 不重名,没有影响。
- 重名,就近使用,使用super区分父类变量。
- 构造方法:
- 无影响,但是子类构造方法默认调用父类构造方法
- 成员方法:
- 不重名,没有影响。
- 重名,子类重写父类方法。
- 成员变量:
- 子类中,如何调用父类的成员?如何使用本类的成员?
- 父类成员方法:super.方法名
- 父类非私有成员变量:super.变量名
- 子类成员方法:this.方法名
- 子类成员变量:this.变量名
- 抽象方法与普通成员方法有什么区别?
- 抽象方法使用abstract关键字修饰,没有方法体。
- 成员方法有方法体。
- 抽象类与普通类有什么区别?
- 方法:
- 抽象类可以包含抽象方法和成员方法。
- 普通类不可以包含抽象方法,只有成员方法。
- 对象:
- 抽象类不可以创建对象。
- 普通类可以创建对象。
- 方法:
2-14一些小记,快开学了,加油吧!