作业day05

今天学习了各种类,父类子类,接口,抽象类,继承。

做了一下360的笔试题,但是基本上是不会。感觉自己好多东西没学,还需努力学习更多知识。

今天的收获吧。一直看视频关于Java基础这,知道了几个关于创建setXXX和getXXX方法的快捷方法,懂得了用Alt+/补全代码。

努力!加油

习题

定义一个交通工具(Vehicle)的类,其中有:

属性:速度(speed),体积(size)等等

方法:移动(move()),设置速度(setSpeed(intspeed)),加速speedUp(),减速speedDown()等等.

最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。

 

package com.jiale.demo01;

 

class Vehicle{

    int speed;

    int size;

    void move(){}

    void setSpeed(int speed){

       this.speed = speed;

    }

    int getSpeed(){

       return speed;

    }

    void setSize(int size){

       this.size = size;

    }

    int getSize(){

       return size;

    }

    void speedUp(){

       speed = speed+1;

       //this.speed=speed;

    }

    void speedDown(){

       speed = speed-1;

       //this.speed=speed;

    }

}

 

 

public class demo01 {

 

    public static void main(String[] args) {

       // TODO自动生成的方法存根

        Vehicle a = new Vehicle();

        a.setSpeed(55);

        a.size = 80;

        a.speedUp();

        System.out.println("Speed:"+a.speed+"\nsize:"+a.size);

 

    }

 

}

 

在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。

定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。

为MyTime类定义构造方法,以方便创建对象时初始化成员变量。

再定义diaplay方法,用于将时间信息打印出来。

 

package com.jiale.demo02;

 

class MyTime

{

    private int hour;

    private int minute;

    private int second;

    public MyTime(int hour,int minute,int second){

       this.hour = hour;

        this.minute = minute;

        this.second = second;

    }

    void diaplay(){

       System.out.println("时间:"+hour+":"+minute+":"+second);

    }

     void addSecond(int sec){

        second = second+sec;

     }

     void addMinute(int min){

        minute = minute+min;

     }

     void addHour(int hou){

        hour = hour+hou;

     }

     void subSecond(int sec){

        second = second-sec;

     }

     void subMinute(int min){

        minute = minute-min;

     }

     void subHour(int hou){

        hour = hour-hou;

     }

     void Test(){

     if(hour<=23&hour>=0&minute<=59&minute>=0&second<=59&second>=0)

        System.out.println("\nTrue\n");

     else

        System.out.println("\nFalse\n");

     }

}

 

 

public class demo02 {

 

    public static void main(String[] args) {

       // TODO自动生成的方法存根

       MyTime b = new MyTime(11,7,55);

       b.subHour(5);

       b.subMinute(5);

       b.subSecond(2);

       b.diaplay();

       b.Test();

 

    }

 

}

 

get方法和set方法

定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法

 

package com.jiale.demo03;

 

class Person

{

    private String name;

    public Person (String n){

       this.setName(n);

    }

    public void setName(String n){

       name = n ;

    }

    public String getName() {

       return name;

    }

    public void getInfo(){

       System.out.println("名字:"+name);

    }

}

 

 

public class demo03 {

 

    public static void main(String[] args) {

       // TODO自动生成的方法存根

       Person per = new Person("奥巴马");

       per.getName();

       per.getInfo();

 

    }

 

}

 

设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。

 

package com.jiale.demo04;

 

import java.awt.Point;

 

public abstract class Graph {

   

    public Point center;

    public Graph(Point center){

       this.center = center;

       }

    public abstract void getInfo();

 

}

 

package com.jiale.demo04;

 

import java.awt.Point;

 

public class Circle extends Graph {

   

    private int radius;

    public Circle(Point center, int radius){

       super(center);

       this.radius = radius;

    }

 

    @Override

    public void getInfo() {

       // TODO自动生成的方法存根

       System.out.println("圆形:\n"+"校准点:"+center+"\n圆形半径:"+radius);

    }

 

}

 

package com.jiale.demo04;

 

import java.awt.Point;

 

public class Rectangle extends Graph {

   

    private int length;

    private int width;

    public Rectangle(Point center,int length,int width){

       super(center);

       this.length = length;

       this.width = width;

    }

 

    @Override

    public void getInfo() {

       // TODO自动生成的方法存根

       System.out.println("矩形:\n"+"校准点:"+center+"\n矩形长度:"+length+"\n矩形宽度:"+width);

    }

 

}

 

package com.jiale.demo04;

 

import java.awt.Point;

 

public class Demo04 {

 

    public static void main(String[] args) {

       // TODO自动生成的方法存根

       Graph a = new Rectangle(new Point(8,8),4,7);

       a.getInfo();

       Graph b = new Circle(new Point(8,8),10);

       b.getInfo();

 

    }

 

}

 

创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。

 

package com.jiale.demo05;

 

public interface Vehicle {

   

    public abstract String start(boolean a);

    public abstract String stop(boolean b);

 

}

 

package com.jiale.demo05;

 

public class Bike implements Vehicle {

 

    @Override

    public String start(boolean a) {

       // TODO自动生成的方法存根

       return a+"车启动了";

    }

 

    @Override

    public String stop(boolean b) {

       // TODO自动生成的方法存根

       return b+"车停止了";

    }

 

}

 

package com.jiale.demo05;

 

public class Bus implements Vehicle {

 

    @Override

    public String start(boolean a) {

       // TODO自动生成的方法存根

       return a+"车启动了";

    }

 

    @Override

    public String stop(boolean b) {

       // TODO自动生成的方法存根

       return b+"车停止了";

    }

 

}

 

package com.jiale.demo05;

 

public class demo05 {

 

    public static void main(String[] args) {

       // TODO自动生成的方法存根

       Bike m = new Bike();

       System.out.println("Bike——————\n"+m.start(false)+"\n"+m.stop(true));

   

        Bus n = new Bus();

       System.out.println("Bus——————\n"+n.start(true)+"\n"+n.stop(false));

 

    }

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值