1. 程式人生 > 實用技巧 >JAVA基礎09

JAVA基礎09

day09作業:

必做題:
========================================
第一題:
1.定義一個Animal類,包含如下行為:
eat() 列印"要吃飯"
run() 列印"會跑步"
sleep() 列印"要睡覺"
2.定義一個Dog類,繼承Animal類,重寫eat(),run()方法
定義自己特有的行為 :
cry() 列印"狗會汪汪叫"
3.定義測試類DogTest, 建立Dog的物件,依次呼叫eat(),run(),sleep(),cry()方法,打印出如下語句
狗要吃那啥
狗跑的如脫韁的野狗
要睡覺
狗會汪汪叫

public
class Animal { void eat(){ System.out.println("要吃飯"); } void run(){ System.out.println("會跑步"); } void sleep(){ System.out.println("要睡覺"); } } public class Dog extends Animal{ @Override void eat() { System.out.println("狗要吃那啥"); } @Override
void run() { System.out.println("狗跑的如脫韁的野狗"); } @Override void sleep() { super.sleep(); } void cry(){ System.out.println("狗會汪汪叫"); } } public class DogTest { public static void main(String[] args) { Dog dog = new Dog(); dog.eat(); dog.run(); dog.sleep(); dog.cry(); } }



第二題:
1.定義一個Phone抽象類,包含如下方法:
普通方法: call() 輸出:"打電話"
普通方法: sendMessage() 輸出:"發簡訊"
抽象方法: playGame();


2.定義一個IPhone類,繼承Phone類
重寫sendMessage()方法,輸出:"發彩信"
實現playGame()方法,輸出:"打王者農藥"
定義自己特有的行為 :
siri() 列印"人工智障"

3.定義測試類IPhoneTest, 建立IPhone的物件,呼叫方法,打印出如下語句
打電話
發彩信
打王者農藥
人工智障

public abstract class Phone {
    void call(){
        System.out.println("打電話");
    }
    void sendMessage(){
        System.out.println("發簡訊");
    }
     abstract void playGame();
}

public class IPhone extends Phone{

    void sendMessage(){
        System.out.println("發彩信");
    }
    @Override
    void playGame() {
        System.out.println("打王者農藥");
    }
    void siri(){
        System.out.println("人工助手");
    }
}

public class IphoneTest {
    public static void main(String[] args) {
        IPhone iphone = new IPhone();
        iphone.call();
        iphone.sendMessage();
        iphone.playGame();
        iphone.siri();
    }
}




第三題:
1.定義Person類,包含空參、滿參構造和以下成員變數:
姓名name
年齡age
生成所有成員變數set/get方法
定義方法:void printPerson(),打印出"我是山頂洞人"

2.定義Student繼承於Person類,新增如下屬性
學校 school
生成空參、滿參構造和set/get方法
定義方法:void printStudent(),先輸出"我叫XXX,我今年YYY歲,我現在的學校是:ZZZ" 再呼叫printPerson()方法

3.在測試類中,建立並初始化一個Student 物件 s, 呼叫printStudent()方法,打印出如下語句:
我叫卡特琳娜,我今年19歲,我現在的學校是:戰爭學院
我是山頂洞人

public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山頂洞人");
    }
}
public class Student extends Person{
    private String School;

    public Student() {
    }

    public Student(String name, int age, String school) {
        super(name, age);
        School = school;
    }

    public String getSchool() {
        return School;
    }

    public void setSchool(String school) {
        School = school;
    }
    void printStudent(){
        System.out.println("我叫"+getName()+",我今年"+getAge()+"歲,我現在的學校是:"+getSchool());
    }
}
public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student("卡特琳娜",19,"戰爭學院");
            student.printStudent();
    }
}



第四題:
1.定義抽象類Phone,要求如下:
包含空參、滿參構造和以下成員變數
品牌 brand( String 型)
生成所有成員變數set/get方法
定義抽象方法:void playMusic(String s)
2.定義類IPhone,要求如下:
繼承抽象類 Phone
構造方法包括:空參構造和滿參構造方法
重寫抽象方法:
void playMusic(String s),要求:輸出列印"XXX手機正在播放歌曲:s"
PS:XXX是Phone類中的 brand屬性值,s是傳入的引數
3.定義測試類TestDemo,在main方法實現以下功能:
建立並初始化一個IPhone 物件 phone,呼叫phone的playMusic(String s)方法,傳入引數"菊花臺"
打印出如下語句:
華為手機正在播放歌曲:菊花臺

public abstract class Phone {
    private String brand;

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    abstract void playMusic(String s);
}
public class IPhone extends Phone{

    public IPhone() {
    }

    public IPhone(String brand) {
        super(brand);
    }

    @Override
    void playMusic(String s) {
        System.out.println(getBrand()+"手機正在播放歌曲:"+s);
    }
}
public class IphoneTest {
    public static void main(String[] args) {
        IPhone iphone = new IPhone("華為");
        iphone.playMusic("菊花臺");
    }
}



加強題:
=============================================================================
第五題:
1.定義一個Phone類.包含如下屬性
品牌brand
價格price
生成所有成員變數set/get方法,空參構造和有參構造

2.定義一個Person類,包含如下屬性
姓名name
年齡age
生成所有成員變數set/get方法,空參構造和有參構造
定義一個玩手機行為 palyPhone(Phone p) 要求列印:"YYY歲的XXX正在玩手機,手機品牌是ZZZ,價格為QQQ

PS:YYY是Person類中的 age屬性值,XXX是Person 類中的 name屬性值,ZZZ是Phone 類中的 brand屬性值,QQQ是Phone 類中的 price屬性值"

3.在測試類TestDemo中,建立Person物件ren,呼叫ren的 palyPhone(Phone p) 方法,打印出
"40歲的羅永浩正在玩手機,手機品牌是小米,價格為2999"
ps:引數p需要自行建立並初始化變數brand與 price

public class Phone {
    private String brand;
    private double price;

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

}
public class Person extends Phone{
    private String name;
    private int age;

    public Person() {
    }



    public Person(String brand, String name, int age) {
        super(brand);
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山頂洞人");
    }
    void  palyPhone(double p){
        Phone phone = new Phone() ;
        phone.setPrice(p);

        System.out.println(age+"歲的"+name+"正在玩手機,手機品牌是"+getBrand()+"價格為:"+getPrice());
    }
}
public class TestDemo {
    public static void main(String[] args) {
        Person ren = new Person("小米","羅永浩",40);

        ren.palyPhone(2999);
    }
}

???


第六題:
1.定義抽象類Study,要求如下:
包含空參、滿參構造和以下成員方法
定義抽象方法:void stu(Phone p);
定義普通方法: void info1() 列印"好好學習,天天向上"
定義普通方法: void info2() 列印"鍵盤敲爛,月薪過萬"




2.定義類Phone,要求如下:
包含空參、滿參構造和以下成員變數
品牌 brand
價格 price
生成所有成員變數set/get方法
定義方法:void printPhone(),打印出Phone的具體資訊,如"XXX手機,價格YYY"
ps: XXX為Phone類的brand屬性 yyy為Phone類的price屬性

3.定義類Student,包含空參、滿參構造和以下成員變數
姓名 name(String 型)
年齡 age(int型)
生成所有成員變數set/get方法
定義成員方法:void studying(Learn le),要求:
1.輸出“yyy歲的xxxx學習中”,
2.然後在方法內通過傳入的Learnd物件le依次呼叫info1(),info2(),stu(Phone p)方法
ps: yyy為Student類中的age方法,xxxx為Student類中的name方法,
ps: Learn繼承於Study類,需要實現stu(Phone p)抽象方法,實現要求:呼叫引數p的printPhone()方法;

4.定義測試類中,建立並初始化一個Student 物件 s, 呼叫studying(Learn le)方法,打印出如下語句:
15歲的關曉彤學習中
好好學習,天天向上
鍵盤敲爛,月薪過萬
華為手機,價格1999

public class Phone {
    private String brand;
    private double price;

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }
    void printPhone(){
        System.out.println(brand+"品牌的手機"+"價格為:"+price);
    }
}
public class Student extends Learn{
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void studying(Learn le){
        le.info1();
        le.info2();
        le.studying();
        System.out.println(age+"的"+name+"學習中");
    }

    @Override
    void stu(Phone p) {

    }
}
public abstract class Study extends Phone{
    public Study() {
    }
  abstract   void stu(Phone p);
    void info1(){
        System.out.println("好好學習天天向上");

    }
    void info2(){
        System.out.println("鍵盤敲爛,月薪過萬");

    }

}
public class Person extends Phone{
    private String name;
    private int age;

    public Person() {
    }



    public Person(String brand, String name, int age) {
        super(brand);
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山頂洞人");
    }
}
public class Learn extends Study{

    @Override
    void stu(Phone p) {

    }

    @Override
    public void studying() {

    }
}
public class TestDemo {
    public static void main(String[] args) {
        Student s = new Student();
        s.stu("華為",1999);
    }
}

???