第九天
1:局部变量和成员变量的区别?
A:在类中位置不同
B:在内存中位置不同
C:生命周期不同
D:初始化值不同
2:形式参数分别为基本类型和引用类型的问题?
形式参数:基本类型 形参的改变不影响实际参数
形式参数:引用类型 形参的改变直接影响实际参数
如果一个方法的形式参数是一个类的名称,那么这里需要的是该类的对象。
3:匿名对象是什么?应用场景是什么?
没有名字的对象。
应用场景:
A:调用方法,仅仅调用一次的时候
B:作为实际参数传递
4:封装是什么?java中封装的体现有哪些?请举例说明。
封装:隐藏实现细节,提供公共的访问方式。
封装的体现:
类,方法,private修饰成员变量
5:this关键字是什么?this关键字的应用场景?
this:代表当前类的对象应用
应用场景:解决局部变量隐藏成员变量的问题
6:构造方法的作用是什么?构造方法的特点是什么?
构造方法的注意事项是什么?构造方法中可不可以写return语句呢?
作用:用于对对象的数据进行初始化
特点:
A:方法名和类名相同
B:没有返回值类型,连void都不能有
C:没有返回值
注意事项:
A:如果我们不给构造方法,系统就提供一个默认的无参构造方法
B:如果我们给出了构造方法,系统就不再提供默认构造方法
这个时候我们想用,就要自己提供。建议自己提供无参构造方法。
class Student {
private String name;
public Student(){}
//getXxx/setXxx
}
构造方法可以有return语句,但是不能有明确的返回值。也就是说return;
7:给成员变量赋值有几种方式?
A:setXxx()
B:带参构造方法
8:标准的代码编写及测试:
A:学生类的案例
B:手机类的案例
C:长方形类的案例
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class StudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}
9:一个类的成员变量初始化过程
Student s = new Student();
A:把Student.class文件加载到内存(类加载器)
B:在栈内存为s开辟空间
C:在堆内存为学生对象申请空间
D:给学生对象的成员变量进行默认初始化
E:给学生对象的成员变量进行显示初始化
F:通过构造方法给学生对象的成员变量进行初始化
G:把堆内存的地址赋值给s变量
10:static关键字是什么?有什么特点?什么时候用呢?
static静态的意思,可以修饰成员变量和成员方法。
特点:
A:随着类的加载而加载
B:优先与对象存在
C:被所有对象共享
D:可以通过类名调用
什么时候用?
A:当一个成员被所有对象共享的时候。
B:工具类的时候。
11:静态变量和成员变量的区别
A:所属不同
B:内存位置不同
C:生命周期不同
D:调用不同
12:main方法各种修饰符及参数的解释?
public:权限修饰符,权限最大
static:可以不用创建对象
void:返回值给jvm无意义
main:一个方法名,大家都默认的
String[] args:接收键盘录入对象
1:代码块是什么?代码块的分类和各自特点?
2:静态代码块,构造代码块,构造方法的执行流程?
3:继承概述
4:继承的好处
5:Java中继承的特点
6:Java中继承的注意事项?以及我们什么时候使用继承?
7:继承中的成员访问特点
A:成员变量
在子类方法中访问一个变量
B:成员方法
在测试类中通过子类对象去访问一个方法
8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
9:面试题:
方法重写和方法重载的区别?方法重载能改变返回值类型吗?
Overload
Override
this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。
10:继承案例练习
11:猜数字小游戏练习。
通过API学习并使用Math类的random()方法。