Java_类与对象13_小练习
Posted zhaolanqi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_类与对象13_小练习相关的知识,希望对你有一定的参考价值。
一、
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()方法。
三、
1:final关键字可以干什么?有什么特点?
最终的意思。可以修饰类,方法,变量。
它修饰类,类不能被继承
它修饰方法,方法不能被重写
它修饰变量,变量是常量
2:final关键字的面试题?
A:修饰局部变量
基本类型:值不能改变
引用类型:地址值不能改变
B:初始化时机
定义的时候
构造方法中
3:多态是什么,前提是什么?
同一个对象在不同时刻表现出来的不同的状态
A:有继承或者实现关系
B:有方法的重写
C:有父类或者父接口引用指向子类对象
4:多态中成员访问的特点?
成员变量
编译看左边,运行看左边
成员方法
编译看左边,运行看右边
静态方法
编译看左边,运行看左边
5:多态的好处及弊端?如何解决多态的弊端?
好处:
维护性和扩展性
弊端:父类不能使用子类特有功能
如何解决呢?
A:创建子类对象。(在内存中会多了一个对象)
B:向下转型
6:什么是向上转型?什么是向下转型?
子 - 父
父 - 子
7:多态练习
自己做
8:抽象类概述及其特点?
抽象类:继承的时候,提取了多个方法,而有些方法不是每个子类都是一模一样的实现,
这个时候,就应该把这样的方法不提供具体实现,而不提供具体实现的方法是一个抽象方法。
在一个类中,如果有抽象方法,该类必须定义为抽象类。
特点:
A:抽象类或者抽象方法由abstract修饰
B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
C:抽象类不能实例化
D:抽象类的子类
a:是抽象类
b:是具体类,就要重写所有抽象方法
9:抽象类成员特点?
A:成员变量
有变量,有常量
B:构造方法
有。用于子类访问父类数据的初始化
C:成员方法
有抽象方法,有非抽象方法
10:抽象类练习?
11:抽象类的小问题
A:一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
B:abstract不能和哪些关键字共存
final
static
private
12:接口的概述及其特点?
接口:某个继承体系需要扩展功能的时候,就应该实现接口。
特点:
A:接口用interface修饰
B:类实现接口用implements修饰
C:接口不能实例化
D:接口的实现
a:抽象类
b:具体类,重写接口中的所有抽象方法
13:接口的成员特点?
A:成员变量 静态常量
B:成员方法 抽象的
14:抽象类和接口的区别?
A:成员区别
B:关系区别
C:设计理念区别
"is a"
"like a"
15:接口的练习?
16:案例
猫狗案例,加入跳高的额外功能
老师和学生案例,加入抽烟的额外功能
教练和运动员案例(学生分析然后讲解)
四、
1:形式参数和返回值问题
形式参数
基本类型
引用类型
返回值类型
基本类型
引用类型
2:包的定义及注意事项
package
第一条有效语句
唯一
3:导包及注意事项
import
java.lang不需要导入
java.xxx.yyy.类名; 导入到类的级别
java.xxx.yyy.*; 这个也可以,但是不建议
4:四种权限修饰符及其特点
5:常见的修饰符及组合
类:public
成员变量:private
构造方法:public
成员方法:public
6:内部类的概述及访问特点
把类定义在另一个类的内部,叫内部类。
访问特点:
内部类可以直接访问外部类的成员,包括私有
外部类访问内部类的成员需要创建对象
7:内部类的分类
按照位置不同
成员内部类
局部内部类
8:匿名内部类的格式和应用及面试题
new 类名或者接口名() {
重写方法;
}
9:把面向对象部分的总结看一遍。准备后面使用。
有问题记录下来问我
以上是关于Java_类与对象13_小练习的主要内容,如果未能解决你的问题,请参考以下文章