初始java类和对象编程题_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:四种权限修饰符及其特点

20180627192016142265.png

5:常见的修饰符及组合

类:public

成员变量:private

构造方法:public

成员方法:public

6:内部类的概述及访问特点

把类定义在另一个类的内部,叫内部类。

访问特点:

内部类可以直接访问外部类的成员,包括私有

外部类访问内部类的成员需要创建对象

7:内部类的分类

按照位置不同

成员内部类

局部内部类

8:匿名内部类的格式和应用及面试题

new 类名或者接口名() {

重写方法;

}

9:把面向对象部分的总结看一遍。准备后面使用。

有问题记录下来问我

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页