package com.web;
public class Test29 {
public static void main(String[] args) {
Dog dog = new Dog("xiaobai", 2);
dog.height = 10;//定义dog身高,weight因为是私有的,不能dog.weight = 12
dog.printData();
}
}
class Animal {
private String name;
public int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
}
class Dog extends Animal {
public int height;//在main方法中就可以设定
private int weight = 20;
public Dog(String name, int age) {
super(name, age);
}
public void printData() {
System.out.println("年齢:" + this.age);//age是public的,可以取到
//System.out.println(this.name);//name取不到,被封装了,继承也不行
System.out.println("名前:" + this.getName());
System.out.println("身長:"+this.height);//在main中定义了
System.out.println("体重:"+this.weight);//自己类中weight,也不需要get方法就可以取到
}
}
package murauchi;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car("フェラーリ", "赤");
Bicycle bicycle = new Bicycle("ビアンキ", "緑");
System.out.println("【車の情報】");
car.printData();
System.out.println("-----------------");
System.out.print("走る距離を入力してください:");
int carDistance = scanner.nextInt();
// runメソッドを呼び出して、引数にcarDistanceを渡してください
car.run(carDistance);
System.out.println("-----------------");
System.out.print("給油する量を入力してください:");
int litre = scanner.nextInt();
car.charge(litre);
System.out.println("=================");
System.out.println("【自転車の情報】");
bicycle.printData();
System.out.println("-----------------");
System.out.print("走る距離を入力してください:");
int bicycleDistance = scanner.nextInt();
// runメソッドを呼び出して、引数にbicycleDistanceを渡してください
bicycle.run(bicycleDistance);
}
}
class Vehicle {
private String name;
private String color;
// private int distance = 0;
protected int distance = 0;//让子类和父类可以取到
// Vehicleクラスのコンストラクタを定義してください
Vehicle(String name, String color) {
this.name = name;
this.color = color;
}
public String getName() {
return this.name;
}
public String getColor() {
return this.color;
}
public int getDistance() {
return this.distance;
}
public void setName(String name) {
this.name = name;
}
public void setColor(String color) {
this.color = color;
}
public void printData() {
System.out.println("名前:" + this.name);
System.out.println("色:" + this.color);
System.out.println("走行距離:" + this.distance + "km");
}
}
class Car extends Vehicle {
private int fuel = 50;
// Carクラスのコンストラクタを定義し、
// superを用いてスーパークラスのコンストラクタを呼び出してください
Car(String name, String color) {
super(name, color);
}
public int getFuel() {
return this.fuel;
}
public void printData() {
super.printData();
System.out.println("ガソリン量:" + this.fuel + "L");
}
public void run(int distance) {
System.out.println(distance + "km走ります");
int dis = this.getDistance();
if (distance <= this.fuel) {
//this.distance += distance;//私有private 取不到
//this.getDistance() += distance;//为啥报错
//dis+=distance;
//this.fuel -= distance;
this.distance += distance;
} else {
System.out.println("ガソリンが足りません");
}
//System.out.println("走行距離:" + dis + "km");
System.out.println("走行距離:" + this.distance + "km");
System.out.println("ガソリン量:" + this.fuel + "L");
}
public void charge(int litre) {
System.out.println(litre + "L給油します");
if (litre <= 0) {
System.out.println("給油できません");
} else if (litre + this.fuel >= 100) {
System.out.println("満タンまで給油します");
this.fuel = 100;
} else {
this.fuel += litre;
}
System.out.println("ガソリン量:" + this.fuel + "L");
}
}
class Bicycle extends Vehicle {
// Bicycleクラスのコンストラクタを定義し、
// superを用いてスーパークラスのコンストラクタを呼び出してください
Bicycle(String name, String color) {
super(name, color);
}
public void run(int distance) {
System.out.println(distance + "km走ります");
//this.getDistance() += distance;//为啥报错
//int dis = this.getDistance();
//dis+=distance;
//System.out.println("走行距離:" + dis + "km");
this.distance += distance;
System.out.println("走行距離:" + this.distance + "km");
}
}
package murauchi;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car("フェラーリ", "赤");
Bicycle bicycle = new Bicycle("ビアンキ", "緑");
System.out.println("【車の情報】");
car.printData();
System.out.println("-----------------");
System.out.print("走る距離を入力してください:");
int carDistance = scanner.nextInt();
car.run(carDistance);
System.out.println("-----------------");
System.out.print("給油する量を入力してください:");
int litre = scanner.nextInt();
car.charge(litre);
System.out.println("=================");
System.out.println("【自転車の情報】");
bicycle.printData();
System.out.println("-----------------");
System.out.print("走る距離を入力してください:");
int bicycleDistance = scanner.nextInt();
bicycle.run(bicycleDistance);
}
}
abstract class Vehicle {
private String name;
private String color;
protected int distance = 0;//让子类和父类可以取到
Vehicle(String name, String color) {
this.name = name;
this.color = color;
}
public String getName() {
return this.name;
}
public String getColor() {
return this.color;
}
public int getDistance() {
return this.distance;
}
public void setName(String name) {
this.name = name;
}
public void setColor(String color) {
this.color = color;
}
public void printData() {
System.out.println("名前:" + this.name);
System.out.println("色:" + this.color);
System.out.println("走行距離:" + this.distance + "km");
}
public abstract void run(int distance);
}
class Car extends Vehicle {
private int fuel = 50;
Car(String name, String color) {
super(name, color);
}
public int getFuel() {
return this.fuel;
}
public void printData() {
super.printData();
System.out.println("ガソリン量:" + this.fuel + "L");
}
public void run(int distance) {
System.out.println(distance + "km走ります");
int dis = this.getDistance();
if (distance <= this.fuel) {
this.distance += distance;
} else {
System.out.println("ガソリンが足りません");
}
//System.out.println("走行距離:" + dis + "km");
System.out.println("走行距離:" + this.distance + "km");
System.out.println("ガソリン量:" + this.fuel + "L");
}
public void charge(int litre) {
System.out.println(litre + "L給油します");
if (litre <= 0) {
System.out.println("給油できません");
} else if (litre + this.fuel >= 100) {
System.out.println("満タンまで給油します");
this.fuel = 100;
} else {
this.fuel += litre;
}
System.out.println("ガソリン量:" + this.fuel + "L");
}
}
class Bicycle extends Vehicle {
Bicycle(String name, String color) {
super(name, color);
}
public void run(int distance) {
System.out.println(distance + "km走ります");
this.distance += distance;
System.out.println("走行距離:" + this.distance + "km");
}
}```