文章目录
章节提要
C++和Java二选一(建议选Java,相较简单些)

一、C++
1、类与派生类的定义

2、类外定义函数体

3、构造函数与析构函数

4、对象指针与对象引用

5、虚函数

二、Java
1、类的定义



2、接口的定义


三、答题技巧
-
JAVA中抽象类不一定有抽象方法,但有抽象方法的一定是抽象类。
-
public和abstract关键字对于interface来说是冗余的,即可以省略不写(答案一般都不写)。 -
抽象类中的抽象方法需要写关键字
abstract。(abstract和public位置可互换,建议先写public然后写abstract) -
接口类似于函数的声明。
-
填写的往往是调用另外一个类中的方法,而不是真正实现该类中方法。
-
子类继承父类的属性可以再构造方法中利用
this.属性=值在构造方法中将值赋值到该类的属性中。(该继承的属性最合适为protected的,该属性在子类中不必再定义) -
子类中除了继承父类属性之外的属性,即子类特有的属性需要子类自己定义,如果缺失类型或变量,则在类中进行查找并填空。
-
注意:
new一个类的时候,new后面的类名需要加(),千万注意!(例如:Person p=new Person())。 -
注意:如果是
抽象类型 对象名=new 子类型若代码中存在该对象调用方法的代码,则该方法一定是在抽象类型且在子类型中都存在的,因为向上转型对象不能操作子类新增加的成员变量和成员方法,所以其调用的方法一定是在父类中存在的。
(注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))
(注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

-
类中方法中参数为
this则传入的为该类的对象。(this访问当前对象)
(注:下图来自前言中up主视频)
-
创建对象时
List<int> list=new ArrayList<>()和List<int> list=new ArrayList<int>()都是正确的,即尖括号里面的内容可以省略,下午题中还是写上其中内容为妙。
(注:下图来自前言中up主视频)

(注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

-
抽象类中的抽象方法必须写
abstract关键字。 -
存在需填空代码是创建变量/调用函数时,要考虑/判断是否需要传参数。
-
别的类或函数中,要获取某个类中的私有属性,必须通过该类的公有成员方法进行获取。
-
类有成员变量和成员方法,而接口却只有常量和抽象方法,也就是说,接口的成员变量必须初始化,同时接口中的所有方法必须声明为
abstract方法(关键字abstract可省)。 -
接口体包括接口中需要说明的常量和抽象方法。由于接口体中只有常量,所以接口中的成员变量只能定义为
static和final型,在类实现接口时不能被修改,而且必须用常量初始化。
(注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))
(注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

四、案例分析
1、案例1




2、案例2




