类的继承

定义Person类,变量name,ID。 用户不能直接修改这些变量,但可以通过getName,setName方法获取Name 属性和设置Name属性,ID也是如此访问。// Person.java

 

Java代码:

package third_first_second;



    public class Person {

    private char name;

    private char ID;
   


    public char getName() {

    return this.name;

    }



    public char getID() {

    return this.ID;

    }



    public void setName(char name) {

    this.name = name;

    }



    public void setID(char ID) {

    this.ID = ID;

    }



    public void eat() {

    System.out.println("大多数人用筷子或刀叉吃饭");

    }

}

 

定义Person类的eat()方法。定义American类,和Chinese类,分别继承Person 类,并重写Person 类的eat方法。American的eat方法输出“我用刀叉吃西餐”。Chinese 的eat方法输出”我用筷子吃中餐”。并用测试类调用测试。 //American.java, Chinese.java

 

Java代码:

package third_first_second;



public class Chinese extends Person{

public void eat() {

System.out.println("我用筷子吃中餐");

}

}



package third_first_second;



public class American extends Person{

public void eat() {

System.out.println("我用刀叉吃西餐");

}

}



package third_first_second;



public class Demo_one {

public static void main(String args[]) {

Person person = null;

person = new Chinese();

person.eat();

person = new American();

person.eat();

}

}



package third_first_second;



public class Demo_two {

public static void main(String[] args) {

Chinese chinese = new Chinese();

American american = new American();

chinese.eat();

american.eat();

}

}

 

设计一个汽车类Auto,其有速度属性speed,以及启动start、加速speedup和停止stop方法,从Auto类派生一个子类Bus,以表示公共汽车,且Bus增加一个表示乘客数的属性passenger,另外添连个表示乘客上车和下车的方法getOn和getOff.  //Auto.java, Bus.java

 

java代码:

package third_third;



public abstract class Auto {

int speed;

int start;

int speedup;

abstract void stop();

}



package third_third;



public abstract class Bus extends Auto{

int passenger;

abstract void getOn();

abstract void getOff();

}

 

P88的实验2

Java代码:

package third_fourth_first;



public class School {

Teacher mathTeacher, musicTeacher;

void setTeacher(Teacher t1, Teacher t2) {

mathTeacher = t1;

musicTeacher = t2;

}



void startMathLesson() {

mathTeacher.speak();

}



void startMusicLesson() {

musicTeacher.speak();

}

}



package third_fourth_first;



public class Teacher {

int teacherType;

public void speak() {

if(teacherType == 1) {

System.out.println("课程的内容是二次方程");

}

else if(teacherType == 2) {

System.out.println("课程的内容是学唱五线谱");

}

}

}



package third_fourth_first;



public class MainClass {

public static void main(String[] args) {

Teacher zhang, wang;

zhang = new Teacher();

wang = new Teacher();

zhang.teacherType = 1;

wang.teacherType = 2;

School 实验中学 = new School();

实验中学.setTeacher(zhang, wang);

实验中学.startMathLesson();

实验中学.startMusicLesson();

}

}

 

p89实验三

Java代码:

package third_fourth_second;



public class Village {

static int treeAmout;

int peopleNumber;

String name;

Village(String s){

name = s;

}



void treePlanting(int n) {

treeAmout = treeAmout + n;

System.out.println(name + "植树" + n + "颗");

}



void fellTree(int n) {

if(treeAmout - n > 0) {

treeAmout = treeAmout - n;

System.out.println(name + "伐树" + n + "颗");

}

else {

System.out.println("无树木可伐");

}

}



static int lookTreeAmout() {

return treeAmout;

}



void addPeopleNumber(int n) {

peopleNumber = peopleNumber + n;

System.out.println(name + "增加了" + n + "人");

}

}



package third_fourth_second;



public class MainClass {

public static void main(String[] args) {

Village zhaoZhuang, maJiaHeZhi;

zhaoZhuang = new Village("赵庄");

maJiaHeZhi = new Village("马家河子");

zhaoZhuang.peopleNumber = 100;

maJiaHeZhi.peopleNumber = 150;



Village.treeAmout = 200;//通过类名调用类变量并给赋初值

int leftTree = Village.treeAmout;

System.out.println("森林中有 " + leftTree + " 颗树");



zhaoZhuang.treePlanting(50);

leftTree = maJiaHeZhi.lookTreeAmout();//用对象访问类变量

System.out.println("森林中有 " + leftTree + " 棵树");



maJiaHeZhi.fellTree(70);

leftTree = Village.treeAmout;//用类名访问类变量

System.out.println("森林中有 " + leftTree + " 棵树");



System.out.println("赵庄的人口:" + zhaoZhuang.peopleNumber);

zhaoZhuang.addPeopleNumber(12);

System.out.println("赵庄的人口:" + zhaoZhuang.peopleNumber);



System.out.println("马家河子的人口:" + maJiaHeZhi.peopleNumber);

maJiaHeZhi.addPeopleNumber(10);

System.out.println("马家河子的人口:" + maJiaHeZhi.peopleNumber);

}

}

 

p118实验1.

Java代码:

package third_fourth_third;



public class Animal {

protected String name;

public void showName() {

System.out.println(name);

}



public void cry() {

System.out.println("不同动物的叫声是有区别的");

}

}



package third_fourth_third;



public class Dog extends Animal{

Dog(String s){

name = s;

}



public void cry() {

System.out.println("汪汪汪");

}



public void swimming() {

System.out.println(name + "会游泳");

}

}



package third_fourth_third;



public class Cat extends Animal{

Cat(){

name = "猫";

}



Cat(String s){

name = s;

}



public void cry() {

System.out.println("喵喵喵");

}



public void climbUpTree() {

System.out.println(name + "会爬树");

}

}



package third_fourth_third;



public class MainClass {

public static void main(String[] args) {

Dog dog = new Dog("小黄狗");

Cat cat = new Cat("小花猫");

dog.showName();

dog.cry();

dog.swimming();



cat.showName();

cat.cry();

cat.climbUpTree();

}

}

 

Java 2实用教程(第三版)实验指导与习题解答 清华大学出版社 (编著 耿祥义 张跃平) 实验模版代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图) 上机实践1 初识Java 4 实验1 一个简单的应用程序 4 实验2 一个简单的Java Applet程序 4 实验3 联合编译 5 上机实践2 基本数据型与控制语句 6 实验1 输出希腊字母表 6 实验2 回文数 6 实验3 猜数字游戏 8 上机实践3 与对象 9 实验1 三角形、梯形和圆形的封装 9 实验2 实例成员与成员 12 实验3 使用package语句与import语句 13 上机实践4 继承与接口 15 实验1 继承 15 实验2 上转型对象 17 实验3 接口回调 18 上机实践5 字符串、时间与数字 19 实验1 String的常用方法 19 实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31 实验2 字体对话框 34 实验3 英语单词拼写训练 37 上机实践8 多线程 41 实验1 汉字打字练习 41 实验2 旋转的行星 43 实验3 双线程接力 47 上机实践9 输入输出流 50 实验1 学读汉字 50 实验2 统计英文单词字 53 实验2 读取Zip文件 56 上机实践10 Java 中的网络编程 57 实验1 读取服务器端文件 57 实验2 使用套接字读取服务器端对象 59 实验3 基于UDP的图像传输 62 上机实践11 数据结构 66 实验1 扫雷小游戏 66 实验2 排序与查找 70 实验3 使用TreeSet排序 72 上机实践12 java Swing 74 实验1 JLayeredPane分层窗格 74 实验2 使用表格显示日历 75 实验3 多文档界面(MDI) 78 上机实践1 初识Java 实验1 一个简单的应用程序 2.模板代码 Hello.java package 实验一; public class Hello { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("你好,很高兴学习Java"); //命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() {System.out.println("we are student"); } } 实验2 一个简单的Java Applet程序 2.模板代码 FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); g.drawString("这是一个Java Applet 程序",10,30);//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); g.drawString("我改变了字体",20,50);//在Java Applet中绘制一行文字:“我改变了字体” } }实验3 联合编译 2.模板代码 public class MainClass { public static void main (String args[ ]) { System.out.println("你好,只需编译我") ; //命令行窗口输出"你好,只需编译我" A a=new A(); a.fA(); B b=new B(); b.fB(); } } public class A { void fA() {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值