7.13 作业 韩宗轩

ⅰ亾dé卋堺 提交于 2020-02-04 16:36:12

1:代码块是什么?代码块的分类和各自特点?
在Java中,使用{}括起来的代码被称为代码块。

2:静态代码块,构造代码块,构造方法的执行流程?
静态代码块:随着类加载而加载,且执行一次.
构造代码块:(初始化块) 每创建一次就执行一次,优先于构造方法执行.
构造方法:给对象的数据(属性)进行初始化.

3:继承概述
让类与类之间产生关系,子父类关系
4:继承的好处
* a:提高了代码的复用性
* b:提高了代码的维护性
* c:让类与类之间产生了关系,是多态的前提
5:Java中继承的特点
* a:Java只支持单继承,不支持多继承。(一个儿子只能有一个爹)(多继承有安全隐患)
* 有些语言是支持多继承,格式:extends 类1,类2,...
* b:Java支持多层(重)继承(继承体系)
6:Java中继承的注意事项?以及我们什么时候使用继承?
* a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
* b:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。
* c:不要为了部分功能而去继承

继承就是一种关系,如果有两个类A,B。只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。
7:继承中的成员访问特点
A:成员变量
在子类方法中访问一个变量
B:成员方法
在测试类中通过子类对象去访问一个方法

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
super解决和this解决
9:面试题:
方法重写和方法重载的区别?方法重载能改变返回值类型吗?
Overload:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。
Override:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的
overload可以改变返回值类型,只看参数列表
this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

10:继承案例练习
class T1 {
public static void main(String[] args) {
Cat c1 = new Cat ();
c1.setColor("粉");
c1.setLeg(666);
c1.eat();
c1.catchMouse();
System.out.println(c1.getColor()+"---"+c1.getLeg());
System.out.println("..........");
Dog d1 = new Dog("金",111);
d1.eat();
d1.lookHome();
System.out.println(d1.getColor()+"---"+d1.getLeg());
}
}
class Animal {
private String color;
private int leg;
public Animal(){}
public Animal (String color,int leg){
this.color = color;
this.leg = leg;
}

public void setColor(String color){
this.color = color;
}
public String getColor(){
return color;
}
public void setLeg(int leg){
this.leg = leg;
}
public int getLeg(){
return leg;
}
public void eat(){
System.out.println("吃饭");
}
}
class Cat extends Animal{
public Cat (){}
public Cat(String color,int leg){
super(color,leg);
}
public void catchMouse(){
System.out.println("抓老鼠");
}

}

class Dog extends Animal {
public Dog (){}
public Dog(String color,int leg){
super(color,leg);
}
public void lookHome(){
System.out.println("看家");
}
}
11:final关键字可以干什么?有什么特点?
关键字: 使得方法或者变量不能重写或者只能被赋值一次.
* 修饰类,类不能被继承
* 修饰变量,变量就变成了常量,只能被赋值一次,一般会与public static 共用.--->public static final double PI = 3.1415926
* 修饰方法,方法不能被重写

12:final关键字的面试题?
A:修饰局部变量

基本类型,是值不能被改变
引用类型,是地址值不能被改变,对象中的属性可以改变

B:初始化时机
显示初始化
成员变量的默认初始化值是无效值
在对象构造完毕前即可

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!