今天学习了各种类,父类子类,接口,抽象类,继承。
做了一下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));
}
}