public void setPrice(float price) { this.price = price; }
public static int getCount() { return count; }
public static void setCount(int count) { Book.count = count; }
public int getNo() { return no; }
public void setNo(int no) { this.no = no; }
public static int getSumCnt() { return sumCnt; }
public static void setSumCnt(int sumCnt) {
Book.sumCnt = sumCnt; } }
//Practice 类
public class Practice {
public static void main(String args[]) {
Book book1 = new Book(\开发实战经典\ book1.print();
Book book2 = new Book(\大学实用教程\ book2.print();
Book book3 = new Book(\名侦探柯南\ book3.print();
Book book4 = new Book(\基础实用教程\ book4.print(); } }
第六章 类的继承与多态性
1. 子类或派生类;父类、超类或基类;A; B;父类中不包含子类的全部,内存会越界。 2. Public ; protected ; 不能继承 3. 软件复用
4. 构造函数和析构函数不可以继承。派生类构造函数各部分的执行次序:先执行基类的构造函数,在执
行子类的构造函数。
5. 派生类的同名覆盖:在子类中,定义名称、参数个数和类型均与父类相同的方法,实现对父类方法的
覆盖。
6. 3个生活中继承的实例:
(1) 父类:学生类,包含成员变量:姓名,年龄,性别;成员方法Study.
派生类:小学生、中学生、大学生等,这三个类都要重写Study方法。 (2) 略
7. 3个生活中多态的实例:
(1) 每个人都有自己的兴趣爱好用方法Hobby().有人喜欢play basketball,有人喜欢sing song,有人
喜欢play football
(2) 略 8. 7
3 9. False
true false true true true 0 0 0
10. // 父类:student类
public class student { String name; int age;
public void Study(){ } }
//子类;pupil类
public class pupil extends student{
public void Study(){ } }
//子类:Junion类
public class Junior extends student{
public void Study(){
name=\中学生\; age=15;
System.out.print(\我们是\+name+\年龄是\+age+\); name=\小学生\; age=10;
System.out.print(\我们是\+name+\年龄是\+age+\); System.out.println(\机械学习\);
} }
System.out.println(\思维学习\);
//子类:Undergraduate类
public class Undergraduate extends student { public void Study(){
name=\大学生\; age=20;
System.out.print(\我们是\+name+\年龄是\+age+\); System.out.println(\专业学习\); } } //测试继承
public class ExtendsTest {
public static void main(String[] args) { } }
pupil p=new pupil(); Junior j=new Junior();
Undergraduate u=new Undergraduate(); p.Study(); j.Study(); u.Study();
11. // 父类:Game类
public class Game { protected void hobby(){ System.out.println(\); } } //子类;Football类
public class Football extends Game{ public void hobby(){
System.out.println(\); }
} //子类:Basketball类
public class Basketball extends Game{ public void hobby(){
System.out.println(\); }
} //子类:Sing类
public class Sing extends Game { public void hobby(){
System.out.println(\);
} }
//测试多态
public class PolymorphicTest {
public static void main(String[] args) { Game[] games=new Game[10]; games[0]=new Basketball(); games[1]=new Football(); games[2]=new Sing();
for(int i=0;i if(games[i]!=null) games[i].hobby(); } } } 12. //长方体类:Cuboid public class Cuboid { public void setH1(double h1) { this.h1 = h1; public double getH1() { } return h1; public void setW1(double w1) { } this.w1 = w1; public double getW1() { } return w1; public void setL1(double l1) { } this.l1 = l1; double l1;// 长 double w1;// 宽 double h1;// 高 public double getL1() { } return l1; } public double vol(double l1,double h1,double w1) { } return l1 * h1 * w1; } //子类:Cub public class Cub extends Cuboid{ } double w1;// 重量 public double sarea(double l1,double h1,double w1) { public static void main(String[] args) { } Cub ex = new Cub();// 对长方体实例化 // 对长方体赋值 ex.setH1(3); ex.setW1(4); ex.setL1(5); // 输出长方体的表面积和体积 System.out.println(\长方体的体积为:\ + ex.vol(ex.getL1(), ex.getH1(), ex.getW1())); + ex.sarea(ex.getL1(), ex.getH1(), ex.getW1())); return (l1 * h1 + h1 * w1 + w1 * l1) * 2; } System.out.println(\长方体的表面积为:\ 第七章 内部类和异常 1.A 2.A 3.异常:在程序运行过程中发生的除正常情况以外的所有现象,是导致程序中断运行的一种指令流。 常见的异常:算术异常类:ArithmeticException 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 方法未找到异常:NoSuchMethodException 文件未找到异常:FileNotFoundException 4. java 异常处理机制:java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。这就是java的异常处理机制。