第七章

代码

01.

Student.java

public class Student //创建一个Student类
{
	private int number; //定义“学号”
	private String name; //定义“姓名”
	private char sex; //定义“性别”
	private String place; //定义“籍贯”
	private String phoneNums; //定义“父母的联系方式”
	
	public int getNumber() //获得“学号”
	{
		return number;
	}
	public void setNumber(int number) //设置“学号”
	{
		this.number = number;
	}
	public String getName() //获得“姓名”
	{
		return name;
	}
	public void setName(String name) //设置“姓名”
	{
		this.name = name;
	}
	public char getSex() //获得“性别”
	{
		return sex;
	}
	public void setSex(char sex) //设置“性别”
	{
		this.sex = sex;
	}
	public String getPlace() //获得“籍贯”
	{
		return place;
	}
	public void setPlace(String place) //设置“籍贯”
	{
		this.place = place;
	}
	public String getPhoneNums() //获得“父母的联系方式”
	{
		return phoneNums;
	}
	public void setPhoneNums(String phoneNums) //设置“父母的联系方式”
	{
		this.phoneNums = phoneNums;
	}
	
}

Test.java

public class Test //创建一个Test类
{
	public static void main(String[] args) 
	{
		Student student = new Student(); //创建student对象
		student.setNumber(26); //设置“学号”
		student.setName("李敖"); //设置“姓名”
		student.setSex('男'); //设置“性别”
		student.setPlace("北京市海淀区"); //设置“籍贯”
		student.setPhoneNums("父:13001101100\n\t\t\t\t\t母:13312345678"); //设置“父母的联系方式”
		System.out.println("转校生" + student.getName() + "的学生信息如下:"); //提示信息
		System.out.println("———————————————————————————————————————————————————————"); //分割线
		System.out.println("学号\t姓名\t性别\t籍贯\t\t父母的联系方式"); //提示信息
		System.out.println("———————————————————————————————————————————————————————"); //分割线
		System.out.println(student.getNumber() + "\t" + student.getName() + "\t" + student.getSex()
		                   + "\t" + student.getPlace() + "\t" + student.getPhoneNums()
						   ); //输出结果
		System.out.println("———————————————————————————————————————————————————————"); //分割线
	}
}

02.

Stock.java


public class Stock //创建一个Stock类
{
	private String name; //定义大盘的“名称”
	private double endNum; //定义大盘前一天的“收盘点”
	
	public String getName() //获得大盘的“名称”
	{
		return name;
	}
	public void setName(String name) //设置大盘的“名称”
	{
		this.name = name;
	}
	public double getEndNum() //获得大盘前一天的“收盘点”
	{
		return endNum;
	}
	public void setEndNum(double endNum) //设置大盘前一天的“收盘点”
	{
		this.endNum = endNum;
	}
	
}

Test.java


import java.util.Scanner;

public class Test //创建一个Test类
{
	public static void main(String[] args) 
	{
		System.out.println("请输入当前上证A股的股指数:"); //提示信息
		Scanner sc = new Scanner(System.in); //控制台输入
		double nowNum = sc.nextDouble(); //声明一个double类型的变量nowNum来接收控制台输入的信息
		Stock stock = new Stock(); //创建stock对象
		stock.setName("上证A股"); //设置大盘的“名称”
		stock.setEndNum(2844.70); //设置大盘前一天的“收盘点”
		float range = (float)(nowNum - stock.getEndNum()); //计算大盘的涨跌幅度
		float rate = (float) ((float)range/stock.getEndNum()); //计算大盘的涨跌比率
		System.out.println("\n解析的结果如下:"); //提示信息
		System.out.println("———————————————————————————————————————————————————————————————————————————————");
		System.out.println("大盘名称\t\t前一日收盘指数\t当日当前指数\t涨跌幅度\t\t涨跌比率"); //提示信息
		System.out.println("———————————————————————————————————————————————————————————————————————————————");
		if(range > 0) //当大盘的涨跌幅度大于零时
		{
			System.out.println(stock.getName() + "\t\t" + stock.getEndNum() + "点" + "\t\t" + nowNum + "点"
					            + "\t" + "上涨" + range + "点" + "\t" + "上涨" + rate * 100 + "%"); //条件成立时的输出结果
		}
		else //当大盘的涨跌幅度小于零时
		{
			System.out.println(stock.getName() + "\t\t" + stock.getEndNum() + "点" + "\t\t" + nowNum + "点"
		                       + "\t" + "下跌" + Math.abs(range) + "点" + "\t" + "下跌" + Math.abs(rate) * 100 + "%"); //条件成立时的输出结果
		}
		System.out.println("———————————————————————————————————————————————————————————————————————————————");
		sc.close(); //关闭控制输入
	}
}

03.

BankCard.java

public class BankCard {
	String cardNum;
	
	public void saveMoney() {
		System.out.println("卡号为" + cardNum + "银行卡可以存钱。");
	}
}

CreditCard.java

public class CreditCard extends BankCard{
	public void drawMoney() {
		System.out.println("卡号为" + cardNum + "银行卡可以取钱。");
	}
	
	public void borrowMoney() {
		System.out.println("卡号为" + cardNum + "银行卡可以借钱。");
	}
}

SavingCard.java

public class SavingCard extends BankCard{
	public void drawMoney() {
		System.out.println("卡号为" + cardNum + "银行卡可以取钱。");
	}
}

Test.java

public class Test {
	public static void main(String[] args) {
		System.out.println("--------------银行卡的特点--------------");
		BankCard bankCard = new BankCard();
		bankCard.cardNum = "6224 4569 2421 3677";
		bankCard.saveMoney();
		System.out.println("--------------储蓄卡的特点--------------");
		SavingCard savingCard = new SavingCard();
		savingCard.cardNum = "6212 2636 0001 2739";
		savingCard.saveMoney();
		savingCard.drawMoney();
		System.out.println("--------------信用卡的特点--------------");
		CreditCard creditCard = new CreditCard();
		creditCard.cardNum = "4013 7356 3380 0642";
		creditCard.saveMoney();
		creditCard.drawMoney();
		creditCard.borrowMoney();
	}
}

04.

Fruit.java


public class Fruit //创建一个Fruit类
{
	private String name; //定义“水果名称”
	private float price; //定义“水果价格”
	private float weight; //定义“水果重量”
	
	public String getName() //获得“水果名称”
	{
		return name;
	}
	public void setName(String name) //设置“水果名称”
	{
		this.name = name;
	}
	public float getPrice() //获得“水果价格”
	{
		return price;
	}
	public void setPrice(float price) //设置“水果价格”
	{
		this.price = price;
	}
	public float getWeight() //获得“水果重量”
	{
		return weight;
	}
	public void setWeight(float weight) //设置“水果重量”
	{
		this.weight = weight;
	}
}

PackagedFruit.java


public class PackagedFruit extends Fruit //创建一个PackagedFruit类继承Fruit类
{
	private double packagesfee; //定义“精装水果的包装费”
	public double getPackagesfee() //获得“精装水果的包装费”
	{
		return packagesfee;
	}
	public void setPackagesfee(double packagesfee) //设置“精装水果的包装费”
	{
		this.packagesfee = packagesfee;
	}
}

Test.java


public class Test //创建一个Test类
{
	public static void main(String[] args) 
	{
		Fruit fruit = new Fruit(); //创建fruit对象
		fruit.setName("苹果"); //初始化“水果名称”
		fruit.setPrice(1.98f); //初始化“水果价格”
		fruit.setWeight(5.0f); //初始化“水果重量”
		PackagedFruit packagedFruit = new PackagedFruit(); //创建packagedFruit对象
		packagedFruit.setName("精装苹果"); //初始化“精装水果的名称”
		packagedFruit.setPrice(2.98f); //初始化“精装水果的价格”
		packagedFruit.setWeight(5.0f); //初始化“精装水果的重量”
		packagedFruit.setPackagesfee(((float)packagedFruit.getPrice() - (float)fruit.getPrice())); ///初始化“精装水果的包装费”
		System.out.println("水果名称\t水果价格(元/千克)\t水果重量(千克)\t包装费(元/千克)\t总价"); //提示信息
		System.out.println("——————————————————————————————————————————————————————————————"); //分割线
		System.out.println(fruit.getName() + "\t" + fruit.getPrice() + "\t\t" + fruit.getWeight() + "\t" 
						   + "\t" + "0.0" + "\t\t" +  fruit.getPrice() * fruit.getWeight()); //输出结果
		System.out.println(packagedFruit.getName() + "\t" + packagedFruit.getPrice() + "\t\t" + packagedFruit.getWeight()
		                   + "\t\t" + packagedFruit.getPackagesfee() + "\t\t"
				           +  packagedFruit.getPrice() * packagedFruit.getWeight()); //输出结果
		System.out.println("——————————————————————————————————————————————————————————————"); //分割线
		System.out.println("差价\t\t\t\t\t\t\t"
				           + (packagedFruit.getPrice() * packagedFruit.getWeight() - fruit.getPrice() * fruit.getWeight())); //输出结果
	}
}

05.

Car.java

public class Car extends Vehicle //创建一个Car类继承Vehicle
{
	@Override
	public void move() //重写Move()方法
	{
		System.out.println("汽车在公路上行驶"); //输出结果
	}
}

Test.java

public class Test
{
	public static void main(String[] args) 
	{
		Vehicle vehicle[] = {new Vehicle(), new Train(), new Car()}; //创建Vehicle(父类)类型的数组
		for (int i = 0; i < vehicle.length; i++) //遍历数组
		{
			vehicle[i].move(); //Vehicle(父类)类型的变量调用相应的Move()方法
		}
	}
}

Train.java

public class Train extends Vehicle //创建一个Train类继承Vehicle
{
	@Override
	public void move() //重写Move()方法
	{
		System.out.println("火车在铁轨上行驶"); //输出结果
	}
}

Vehicle.java

public class Vehicle //创建一个Vehicle类
{
	public void move() //创建一个普通的Move()方法
	{
		System.out.println("交通工具都可以移动"); //输出结果
	}
}

06.

GreenTrafficLights.java

public class GreenTrafficLights extends TrafficLights {
	@Override
	public void shine() {
		System.out.println("绿灯发出绿光");
	}
}

RedTrafficLights.java

public class RedTrafficLights extends TrafficLights {
	@Override
	public void shine() {
		System.out.println("红灯发出红光");
	}
}

Test.java

public class Test {
	public static void main(String[] args) 
	{
		TrafficLights[] trafficLights = {new TrafficLights(), new RedTrafficLights(), new YellowTrafficLights(), new GreenTrafficLights()}; //创建TrafficLights(父类)类型的数组
		for (int i = 0; i < trafficLights.length; i++) //遍历数组
		{
			trafficLights[i].shine(); //TrafficLights(父类)类型的变量调用相应的shine()方法
		}
	}
}

TrafficLights.java

public class TrafficLights {
	public void shine() {
		System.out.println("交通信号灯发光");
	}
}

YellowTrafficLights.java

public class YellowTrafficLights extends TrafficLights {
	@Override
	public void shine() {
		System.out.println("黄灯发出黄光");
	}
}

07.HighSpeedRail.java

class Train {
	public double getSpeed() {
		return 145.8;
	}
}

public class HighSpeedRail extends Train {
	public double getSpeed() {
		return super.getSpeed() * 2;
	}
	
	public static void main(String[] args) {
		Train train = new Train();
		System.out.println("火车的速度为" + train.getSpeed() + "公里/小时");
		HighSpeedRail highSpeedRail = new HighSpeedRail();
		System.out.println("高铁的速度为" + highSpeedRail.getSpeed() + "公里/小时");
	}
}

08.Doctor.java

class Person {
	public String introduce() {
		return "我是XXX";
	}
}

public class Doctor extends Person {
	public String introduce() {
		return super.introduce() + "博士";
	}

	public static void main(String[] args) {
		Person person = new Person();
		System.out.println(person.introduce());
		Doctor doctor = new Doctor();
		System.out.println(doctor.introduce());
	}
}

09.HongxinFSApple.java

class Apple {
	String color;
	String name;
	double weight;
	double price;
	
	public Apple(String color, String name, double price, double weight) {
		this.color = color;
		this.name = name;
		this.weight = weight;
		this.price = price;
	}
	
	@Override
	public String toString() {
		return this.color + "的苹果被称为“" + this.name + "”, 每斤" + this.price + "元RMB,买了" + this.weight + "斤,需支付" + (float)(this.price * this.weight) + "元RMB。";
	}
}
public class HongxinFSApple {
	public static void main(String[] args) {
		Apple apple = new Apple("红色", "糖心富士", 4.98, 5);
		System.out.println(apple.toString());
	}
}

10.Adult.java

class People {
	int age;

	public People(int age) {
		this.age = age;
	}
	
	@Override
	public String toString() {
		if (this.age >= 18) {
			return "我" + this.age + "岁,我是成年人。";
		} else {
			return "我" + this.age + "岁,我是未成年人。";
		}
	}
}

public class Adult {
	public static void main(String[] args) {
		People people = new People(18);
		System.out.println(people.toString());
	}
}

11.RidiculousResult.java

class Pig {
	@Override
	public boolean equals(Object obj) {
		return true;
	}
}

class Dog{}

public class RidiculousResult {
	public static void main(String[] args) {
		Pig pig = new Pig();
		if (pig.equals(new Dog())) {
			System.out.println("猪和狗是同类!!!");
		} else {
			System.out.println("猪和狗不是同类。");
		}
	}
}

12.RightResult.java

class Animal {
	String branch;

	public Animal(String branch) {
		this.branch = branch;
	}

	public String getBranch() {
		return branch;
	}

	public void setBranch(String branch) {
		this.branch = branch;
	}

	@Override
	public boolean equals(Object obj) {
		Animal animal = (Animal) obj;
		if (this.getBranch().equals(animal.getBranch())) {
			return true;
		} else {
			//System.out.println(this.getBranch()); ——→ 输出“猪科”
			//System.out.println(animal.getBranch()); ——→ 输出“犬科”
			return false;
		}
	}
}

class NewDog extends Animal {
	public NewDog(String branch) {
		super(branch);
	}
}

class NewPig extends Animal {
	public NewPig(String branch) {
		super(branch);
	}
}

public class RightResult {
	public static void main(String[] args) {
		NewPig pig = new NewPig("猪科");
		NewDog dog = new NewDog("犬科");
		if (pig.equals(dog)) {
			System.out.println("猪和狗是同类!!!");
		} else {
			System.out.println("猪和狗不是同类。");
		}
	}
}

13.Market.java

public class Market {
	public static String pay(String payStyle) {
		return "所有的超市都支持" + payStyle;
	}
	
	public static String pay(String marketStyle, String payStyle) {
		return marketStyle + "还支持" + payStyle;
	}
	
	public static void main(String[] args) {
		System.out.println(pay("现金付款"));
		System.out.println("但" + pay("大型商超", "刷卡付款"));
	}
}

14.Car.java

public class Car {
	public static Integer havePedalNum(int pedalNum) {
		return pedalNum;
	}
	
	public static String havePedalNum(String name, int pedalNum) {
		return name + "有" + pedalNum;
	}
	
	public static void main(String[] args) {
		System.out.println("所有的汽车至少有" + havePedalNum(2) + "块脚踏板");
		System.out.println("但" + havePedalNum("手动挡汽车", 3) + "块脚踏板");
	}
}	

15.

AutoCar.java


public class AutoCar extends Car //创建一个AutoCar类继承Car
{
	@Override
	public void stepOnGas() //重写父类Car的stepOnGas()方法
	{
		System.out.println("右脚踩油门踏板!"); //控制台输出
	}
	@Override
	public void stepOnBrake() //重写父类Car的stepOnBrake()方法
	{
		System.out.println("右脚踩刹车踏板!"); //控制台输出
	}
}

Car.java

public class Car //创建一个Car类
{
	public int pedalAuto = 2; //定义一个用public修饰的成员变量“自动挡汽车的踏板数”,并初始化
	public int pedalHand = 3; //定义一个用public修饰的成员变量“手动挡汽车的踏板数”,并初始化
	
	public void stepOnGas() //创建一个普通的方法stepOnGas()
	{
		System.out.println("油门踏板"); //控制台输出
	}
	
	public void stepOnBrake() //创建一个普通的方法stepOnBrake()
	{
		System.out.println("刹车踏板"); //控制台输出
	}
}

HandCar.java

public class HandCar extends Car //创建一个HandCar类继承Car
{
	@Override
	public void stepOnGas() //重写父类Car的stepOnGas()方法(踩油门)
	{
		System.out.println("右脚踩油门踏板!"); //控制台输出
	}
	@Override
	public void stepOnBrake() //重写父类Car的stepOnBrake()方法(踩刹车)
	{
		System.out.println("右脚踩刹车踏板!"); //控制台输出
	}
	
	public void stepOnClutch() //创建一个普通的stepOnClutch()方法(踩离合)
	{
		System.out.println("左脚踩离合器踏板!"); //控制台输出
	}
}

Test.java

/**
 * 轿车有两种类型:手动挡和自动挡。对于轿车而言,至少有油门踏板和刹车踏板。如果是手动挡的汽车,它会比父类轿车多一个离合踏板。
 * 请编程说明作为子类的手动挡汽车此时能否调取它自己的离合踏板?
 */
public class Test //创建一个Test类
{
	public static void main(String[] args) 
	{
		AutoCar autoCar = new AutoCar(); //创建对象autoCar
		System.out.println("自动挡汽车有" + autoCar.pedalAuto + "块踏板。"); //控制台输出
		autoCar.stepOnGas(); //调用子类(AutoCar)中重写的stepOnGas()方法
		autoCar.stepOnBrake(); //调用子类(AutoCar)中重写的stepOnBrake()方法
	}
}

16.

Animal.java

public class Animal //创建一个Animal类
{
	private String name; //定义“动物的名称”
	
	public String getName() //获得“动物的名称”
	{
		return name;
	}

	public void setName(String name) //设置“动物的名称”
	{
		this.name = name;
	}

	public void move() //创建move()方法
	{
		System.out.println("动物运动的方式相同么?"); //控制台输出
	}
}

Fish.java

public class Fish extends Animal //创建一个类继承
{
	@Override
	public void move() //重写抽象方法move()
	{
		System.out.print("我在水中游!\n"); //控制台输出
	}
}

Frog.java

public class Frog extends Animal //创建一个类继承
{
	@Override
	public void move() //重写抽象方法move()
	{
		System.out.print("障碍,距离上的?没事儿!\n"); //控制台输出
	}
}

Ostrich.java

public class Ostrich extends Animal //创建一个类继承
{
	@Override
	public void move() //重写抽象方法move()
	{
		System.out.print("天空,为啥离俺那么远!\n"); //控制台输出
	}
}

Test.java

public class Test {//创建一个Test类
	public static void main(String[] args) {
		Animal[] animals = new Animal[]{new Tiger(), new Fish(), new Ostrich(), new Frog()}; //把一个子类对象直接赋给一个父类引用变量
		animals[0].setName("老虎"); //设置“动物的名称”
		System.out.print(animals[0].getName() + ":");
		animals[0].move(); //调用子类里重写后的move()方法
		
		animals[1].setName("鱼"); //设置“动物的名称”
		System.out.print(animals[1].getName() + ":");
		animals[1].move(); //调用子类里重写后的move()方法
		
		animals[2].setName("鸵鸟"); //设置“动物的名称”
		System.out.print(animals[2].getName() + ":");
		animals[2].move(); //调用子类里重写后的move()方法
		
		animals[3].setName("青蛙"); //设置“动物的名称”
		System.out.print(animals[3].getName() + ":");
		animals[3].move(); //调用子类里重写后的move()方法
	}
}

Tiger.java

public class Tiger extends Animal //创建一个类继承
{
	@Override
	public void move() //重写抽象方法move()
	{
		System.out.print("陆地,我的地盘!\n"); //控制台输出
	}
}

17.

Animal.java

public class Animal {
private String name; //定义“动物的名称”
	
	public String getName() //获得“动物的名称”
	{
		return name;
	}

	public void setName(String name) //设置“动物的名称”
	{
		this.name = name;
	}
}

Eagle.java

public class Eagle extends Animal {
	public void eat() {
		System.out.print("吃青蛙\n");// 控制台输出
	}
}

Frog.java

public class Frog extends Animal {//创建一个类继承
	public void eat() {
		System.out.print("吃蝗虫\n");// 控制台输出
	}
}

Grasshopper.java

public class Grasshopper extends Animal {
	public void eat() {
		System.out.print("吃庄稼\n");// 控制台输出
	}
}

Test.java

public class Test {//创建一个Test类
	public static void main(String[] args) {
		Animal animal1 = new Eagle();
		animal1.setName("鹰");
		System.out.print(animal1.getName());
		((Eagle) animal1).eat();
		
		Animal animal2 = new Frog();
		animal2.setName("青蛙");
		System.out.print(animal2.getName());
		((Frog) animal2).eat();
		
		Animal animal3 = new Grasshopper();
		animal3.setName("蝗虫");
		System.out.print(animal3.getName());
		((Grasshopper) animal3).eat();
	}
}

18.

Test.java

/**
 * 请用“向上转型”和“向下转型”的思想完成旅游胜地与九寨沟之间的联系。
 */
public class Test //创建一个Test类
{
	public static void main(String[] args) {
		TouristAttraction attraction = new JiuZhaiGou(); //“向上转型”操作(把子类对象赋值给父类类型的变量attraction)
		attraction.sightseeing(); //父类类型的变量attraction调用sightseeing()方法
		((JiuZhaiGou) attraction).introduce(); //“向下转型”操作(把父类变量强制转换为子类对象),并调用introduce()方法
	}
}

TouristAttraction.java

public class TouristAttraction //创建一个TouristAttraction类
{
	public void sightseeing() //创建一个sightseeing()方法
	{
		System.out.println("中国的旅游胜地有很多:"); //控制台输出
	}

}

class JiuZhaiGou extends TouristAttraction //创建一个JiuZhaiGou类继承TouristAttraction
{
	public void introduce() //创建一个introduce()方法
	{
		System.out.println("九寨沟四季景色都十分迷人。\n"
							+ "春时嫩芽点绿,瀑流轻快;\n"
							+ "夏来绿荫围湖,莺飞燕舞;\n"
							+ "秋至红叶铺山,彩林满目;\n"
							+ "冬来雪裹山峦,冰瀑如玉。\n"
							+ "九寨沟是世界闻名的旅游胜地之一。"); //控制台输出
	}
}

19.Chicken.java

class Bird {
	public void fly() {
		System.out.println("鸟类都会飞么?");
	}
}
public class Chicken extends Bird {
	@Override
	public void fly() {
		System.out.println("鸡就不会飞!");
	}
	public static void main(String[] args) {
		Chicken chicken = new Chicken();
		System.out.println("鸡是否属于鸟类?");
		if (chicken instanceof Bird) {
			System.out.println("鸡属于鸟类。");
			Bird bird = new Bird();
			bird.fly();
			chicken.fly();
		} else {
			System.out.println("鸡不属于鸟类!!!");
		}
	}
}

20.

President.java

public class President extends PublicServant //创建一个President类继承PublicServant
{
	@Override
	public void handleAffairs() {//重写handleAffairs()方法
		super.handleAffairs(); //调用父类PublicServant的handleAffairs()方法
		System.out.println("总统掌控方针、政策和方向,处理国内乃至国与国之间的事务。"); //控制台输出
	}
}

PublicServant.java

public class PublicServant {//创建一个PublicServant类
	String appellation; //定义“职称”
	int age; //定义“年龄”
	public void handleAffairs() {//创建一个handleAffairs()方法
		System.out.println("公务员处理日常事务;"); //控制台输出
	}
}

Test.java

public class Test {// 创建一个Test类
	public static void main(String[] args) {
		President president = new President(); // 创建president对象
		president.appellation = "总统"; // 初始化“职称”
		president.age = 55; // 初始化“年龄”
		if (president instanceof PublicServant)// 判断总统是否为公务员
			president.handleAffairs(); // president对象调用handleAffairs()方法
	}
}

21.

Circle.java

public class Circle extends Shape {
	double radius;
	
	public Circle(double radius) {
		this.radius = radius;
	}

	@Override
	public double getArea() {
		return Math.PI * this.radius * this.radius;
	}
}

Rectangle.java

public class Rectangle extends Shape {
	double length;
	double width;

	public Rectangle(double length, double width) {
		this.length = length;
		this.width = width;
	}

	@Override
	public double getArea() {
		return this.length * this.width;
	}
}

Shape.java

public abstract class Shape {
	String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public abstract double getArea();
}

Test.java

public class Test {
	public static void main(String[] args) {
		Circle circle = new Circle(1.5);
		circle.name = "圆形";
		System.out.println(circle.name + "面积:" + circle.getArea());
		Rectangle rectangle = new Rectangle(5.5, 2);
		rectangle.name = "矩形";
		System.out.println(rectangle.name + "面积:" + rectangle.getArea());
	}
}

22.

AutoPlant.java

public class AutoPlant extends Factory {
	String productsName;
	
	public AutoPlant(String productsName) {
		this.productsName = productsName;
	}

	@Override
	public String produce() {
		return this.productsName;
	}
}

Factory.java

public abstract class Factory {
	String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public abstract String produce();
}

ShoeFactory.java

public class ShoeFactory extends Factory {
	String productsName;
	
	public ShoeFactory(String productsName) {
		this.productsName = productsName;
	}
	
	@Override
	public String produce() {
		return this.productsName;
	}
}

Test.java

public class Test {
	public static void main(String[] args) {
		AutoPlant autoPlant = new AutoPlant("汽车");
		autoPlant.setName("汽车厂");
		System.out.println(autoPlant.getName() + "生产的是" + autoPlant.productsName);
		ShoeFactory shoeFactory = new ShoeFactory("鞋");
		shoeFactory.setName("鞋厂");
		System.out.println(shoeFactory.getName() + "生产的是" + shoeFactory.productsName);
	}
}

23.

Helicopter.java

public class Helicopter extends Plane implements Hover{
	public Helicopter(String type) {
		super(type);
	}

	@Override
	public String move() {
		return "悬停在半空中";
	}
	
	public static void main(String[] args) {
		Helicopter helicopter = new Helicopter("直升机");
		System.out.println(helicopter.takeOff() + "后," + helicopter.move());
	}
}

Hover.java

public interface Hover {
	public String move();
}

Plane.java

public class Plane {
	String type;

	public Plane(String type) {
		this.type = type;
	}
	
	public String takeOff() {
		return this.type + "起飞";
	}
}

24.

Move.java

public interface Move {// 创建一个Move接口
	public void work(); // 创建一个抽象方法 work()
	public void talk(); // 创建一个抽象方法talk()
}

Student.java

public class Student implements Move { // 创建一个Student类实现接口Move
	public String name;//定义姓名字段
	
	public Student(String name) { // 对姓名字段进行初始化
		this.name=name;
	}
	
	@Override
	public void work() { // 重写work()方法
		System.out.println(name + ":同学开始记笔记");
	}

	@Override
	public void talk() { // 重写talk()方法
		System.out.println(name + ":老师好");
	}
}

Teacher.java

public class Teacher implements Move { // 创建一个Teacher类实现接口Move
	public String name;//定义姓名字段
	
	public Teacher(String name) { // 对姓名字段进行初始化
		this.name=name;
	}
	
	@Override
	public void work() { // 重写work()方法
		System.out.println(name + ":老师开始上课");
	}

	@Override
	public void talk() { // 重写talk()方法
		System.out.println(name + ":同学们好");
	}
}

Test.java

public class Test { // 创建一个Test类
	public static void main(String[] args) {
		Move[] per={new Student("peter"), new Teacher("mike")};
		// 通过相应的对象调用相应的方法实现控制台输出结果
		per[0].talk();
		per[1].talk();
		per[1].work();
		per[0].work();
	}
}

25.Spirit.java

interface Move {
	public String move();
}

interface Sing {
	public String sing();
}

public class Spirit implements Move, Sing {
	@Override
	public String sing() {
		return "唱着歌";
	}

	@Override
	public String move() {
		return "翩翩起舞";
	}
	
	public static void main(String[] args) {
		Spirit spirit = new Spirit();
		System.out.println("精灵们一边" + spirit.sing() + ",一边" + spirit.move());
	}
}

26.ArmyDuck.java


interface RunningInWater {
	public void driveInWater();
}

interface RunningOnLand {
	public void driveOnLand();
}

public class ArmyDuck implements RunningInWater, RunningOnLand {
	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public void driveOnLand() {
		System.out.print("在水中驾驶");
	}

	@Override
	public void driveInWater() {
		System.out.print("在陆地上驾驶");
	}
	
	public static void main(String[] args) {
		ArmyDuck armyDuck = new ArmyDuck();
		armyDuck.setName("水陆两栖车");
		System.out.print(armyDuck.getName() + "既可以");
		armyDuck.driveOnLand();
		System.out.print(",也可以");
		armyDuck.driveInWater();
	}
}

27.XMachine.java

public final class XMachine {
	String productsName;
	String limit;
	
	public XMachine(String productsName, String limit) {
		this.productsName = productsName;
		this.limit = limit;
	}
	
	public String takePhotos() {
		return "医疗上通过X光为患者拍片";
	}
	
	public static void main(String[] args) {
		XMachine xMachine = new XMachine("X光机", "受知识产权保护");
		System.out.println(xMachine.productsName + xMachine.limit + ",不允许其他公司制造仿品牟利。它的一个主要功能是" + xMachine.takePhotos());
	}
}

28.Moon.java

public final class Moon {
	String name;
	String characteristic;
	
	public Moon(String name, String characteristic) {
		this.name = name;
		this.characteristic = characteristic;
	}

	public String reflect() {
		return this.name + "本身并不发光,只反射太阳光";
	}
	
	public static void main(String[] args) {
		Moon moon = new Moon("月球", "地球周围没有其他类似月球的卫星");
		System.out.println(moon.characteristic + "。" + moon.reflect() + "。");
	}
}

29.TrafficRegulations.java

class Traffic {
	String actor;
	
	public Traffic(String actor) {
		this.actor = actor;
	}

	public final String obey() {
		return this.actor + "在行至有交通信号灯的路口时,要遵守“红灯停、绿灯行”的交通规则。";
	}
}

class Passerby extends Traffic {
	public Passerby(String actor) {
		super(actor);
	}
}

class NonMotorVehicle extends Traffic {
	public NonMotorVehicle(String actor) {
		super(actor);
	}
}

class MotorVehicle extends Traffic {
	public MotorVehicle(String actor) {
		super(actor);
	}
}

public class TrafficRegulations {
	public static void main(String[] args) {
		Passerby armedPolice = new Passerby("行人");
		System.out.println(armedPolice.obey());
		NonMotorVehicle peoplePolice = new NonMotorVehicle("非机动车辆");
		System.out.println(peoplePolice.obey());
		MotorVehicle trafficPolice = new MotorVehicle("机动车辆");
		System.out.println(trafficPolice.obey());
	}
}

30.Action.java

class Car {
	String type;

	public Car(String type) {
		this.type = type;
	}
	
	public final void advance() {
		if (this.type.equals("自动挡汽车")) {
			System.out.println("自动挡汽车挂D挡前进");
		}
		if (this.type.equals("手动挡汽车")) {
			System.out.println("手动挡汽车挂1~5挡前进");
		}
	}
}

class AutomaticCar extends Car {
	public AutomaticCar(String type) {
		super(type);
	}
}

class ManualCar extends Car {
	public ManualCar(String type) {
		super(type);
	}
}

public class Action {
	public static void main(String[] args) {
		Car automaticCar = new AutomaticCar("自动挡汽车");
		automaticCar.advance();
		Car manualCar = new ManualCar("手动挡汽车");
		manualCar.advance();
	}
}

31.Transport.java

public class Transport {
	static final int SEATS = 108;
	int carriageNum = 10;
	int passengers = 1189;
	public static void main(String[] args) {
		Transport transport = new Transport();
		if (SEATS * transport.carriageNum < transport.passengers) {
			int leftPassengers = transport.passengers - SEATS * transport.carriageNum;
			System.out.println("车站剩余旅客数:" + leftPassengers + "人");
		} else {
			int leftPassengers = 0;
			System.out.println("车站剩余旅客数:" + leftPassengers + "人");
		}
	}
}

32.ConcretePillars.java

import java.util.Scanner;

public class ConcretePillars {
	static final double PI = 3.14;
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入该水泥柱的周长:");
		double perimeter = sc.nextDouble();
		float diameter = (float) (perimeter / PI);
		System.out.println("该水泥柱的直径:" + diameter);
		sc.close();
	}
}

33.SchoolClass.java

public class SchoolClass {
	Members members = new Members(60, 10);
	
	class Members {
		int maxStudentsNum;
		int maxTeachersNum;
		
		public Members(int maxStudentsNum, int maxTeachersNum) {
			this.maxStudentsNum = maxStudentsNum;
			this.maxTeachersNum = maxTeachersNum;
		}
		
		public void setValue() {
			System.out.println("一个班级,老师的数量最多" + maxTeachersNum + "人,学生的数量最多" + maxStudentsNum + "人。");
		}
	}
	
	public static void main(String[] args) {
		SchoolClass schoolClass = new SchoolClass();
		schoolClass.members.setValue();
	}
}

34.AutoMobile.java

public class AutoMobile {
	private String brand;

	public AutoMobile(String brand) {
		this.brand = brand;
	}
	
	class Engine {
		private int horsePower;
		private int terque;
		
		public Engine(int horsePower, int terque) {
			this.horsePower = horsePower;
			this.terque = terque;
		}
		
		public void setValue() {
			System.out.println("当前轿车的品牌为" + brand + ",其发动机的最大马力为" + horsePower + "Ps,最大扭矩为" + terque + "N·m。");
		}
	}
	
	public void initializeEngine() {
		Engine engine = new Engine(131, 225);
		engine.setValue();
	}
	
	public static void main(String[] args) {
		AutoMobile car = new AutoMobile("高尔夫");
		car.initializeEngine();
	}
}

35.BoomFireworks.java

abstract class Fireworks {
	abstract void boom();
}

public class BoomFireworks {
	public static void main(String[] args) {
		new Fireworks() {
			void boom() {
				System.out.println("红色的烟花照亮天空");
			}
		}.boom();
	}
}

36.Demo.java

interface Light {
    public void burning();
}

public class Demo {
    public static void main(String[] args) {
        new Light() {
            public void burning() {
                System.out.println("有什么东西着火了……");
            }
        }.burning();
    }
}
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇