作用域
当前类 | 当前包 | 子类 | 其他包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
三、问答题(每小题4分,共8分)
1.类与对象的关系
- 对象:对象是类的一个实例,有状态和行为。
- 类:类用来创建对象的模板,包含被创建对象的状态描述和行为定义。
2.面向对象的基本特征 P60
1.封装
一个对象将自己的数据和对这些数据的操作合理、有效地封装在一起。
2.继承
子类可以继承父类的属性和行为,即继承父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。
3.多态
1)操作名称的多态,多种操作有相同的名字,但这些操作所接收的消息类型不同。
2)同一个操作被不同类型的对象调用时可能产生不同的行为
4.抽象
将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面,抽象只关注对象的哪些属性和行为,并不关注这此行为的细节是什么
3.UML P66
UML(Unified Modeling Language,统一建模语言)图属于结构图,常被用于描述一个系统的静态结构。
4.Java技术体系
Java技术体系分为Java语言、Java平台、Java API等三部分。
- Java编程语言
- Java虚拟机/JVM
- Java API类库/Java SE、Java EE
- 开发工具/JDK、IDE、javac
5.Java的特点
- 简单
- 面向对象
- 与平台无关
- 多线程
- 动态
6.Java开发步骤
- 编写源文件
- 编译源文件
- 运行程序
7.内部类、匿名类
内部类是在一个类的内部定义的类。
匿名类是一种没有名字的类,它通常用于实现一个接口或继承一个类,并且只使用一次。
8.实例变量与类变量的区别
- 不同对象的实例变量互不相同
- 所以对象共享类变量
- 通过类名直接访问类变量。类变量是与类相关的变量;实例变量仅是和对应的对象关联的变量。
9.实例方法与类方法的区别
- 对象调用实例方法。
- 类名调用类方法
10.Abstract类和Abstract方法的关系
- 有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法。
(2)当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现,否则子类依然是抽象类。
- Abstract类与接口的区别
相同点:Abstract类和接口都可以有Abstract方法
不同点:接口中只可以有常量,不能有变量;Abstract类中可以有常量,也可以有变量
四、程序分析题(每小题5分,共20,根据程序写输出
(类与对象、继承、接口、异常)
五、阅读程序(10分,补充代码
六、编程题(每小题10分,共30分
1.输出欢迎
public class Main {
public static void main(String[] args) {
System.out.println("欢迎!");
}
}
2.圆的面积、周长,球体积
class Circle{
double radius,area;
void setRadius(double r){
this.radius=r;
}
double getRadius(){
return this.radius;
}
double getArea(){
area=3.14*radius*radius;
return area;
}
}
class Circular{
Circle bottom;
double hight;
void setHight(double h){
this.hight=h;
}
void setBottom(Circle c){
this.bottom=c;
}
public void setradius(double r){
bottom.radius=r;
}
double getHight(){
return this.hight;
}
double getradius(){
return bottom.radius;
}
double getV(){
if(bottom==null) return -1;
else return bottom.getArea()*hight/3.0;
}
}
public class Main {
public static void main(String[] args) {
}
}