1定义|抽象一个厨师类
属性:姓名,性别,年龄,厨师等级
能力:做饭,炒菜,吃饭
构造器:无参的,代参的
public abstract class Cook {
String name,level;
char sex;
int age;
public Cook(String name,String level,char sex,int age){
this.name=name;
this.level=level;
this.sex=sex;
this.age=age;
System.out.println("姓名"+name+"等级"+level+"性别"+sex+"年龄"+age);
}
public Cook(){
System.out.println("无参构造");
}
abstract public void zuoFan();
abstract public void eat();
abstract public void caoChai();
}
public class ChineseCook extends Cook {
public ChineseCook(){
}
public ChineseCook(String name,String level,char sex,int age){
super(name,level,sex,age);
}
public void zuoFan() {
System.out.println("做中国饭");
}
public void eat(){
System.out.println("吃牛排");
}
public void caoChai() {
System.out.println("炒中国菜");
}
}
public class CookTest {
public static void main(String[] args) {
ChineseCook p1 =new ChineseCook();
p1.zuoFan();
ChineseCook p2=new ChineseCook("西门吹雪","高级", '男',18);
p2.zuoFan();
p2.eat();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8c5LChid-1591793738141)(C:\Users\USE\Desktop\QQ截图20200610190513.png)]
2定义|抽象一个司机类
属性:姓名,性别,年龄,驾龄,所剩分数
能力:开车,被扣分,恢复满分
构造器:无参的,代参的
/**
* 定义|抽象一个司机类
* 属性:姓名,性别,年龄,驾龄,所剩分数
* 能力:开车,被扣分,恢复满分
* 构造器:无参的,代参的
*/
public abstract class Car {
String name;
char sex;
int age;
int DrivingExperience;
int number;
public Car(String name,char sex, int age, int DrivingExperience, int number){
System.out.println("车主信息"+"姓名"+name+"性别"+sex+"年龄"+age+"驾龄"
+DrivingExperience+"所剩分数"+number);
}
public Car(){
System.out.println("我会开车");
}
abstract public int Deduction(int number,int i );
abstract public int BackScore(int number);
}
//子类继承
public class SmallCar extends Car {
public SmallCar(){
}
public SmallCar (String name,char sex, int age, int DrivingExperience, int number){
super(name, sex, age, DrivingExperience, number);
}
@Override
/**扣分方法
* 司机所剩的分数 哪种情况扣得分通过switch 语句
*/
public int Deduction( int number1,int i) {
switch (i){
case 1:
System.out.println("超速");
number-=2;
System.out.println("车主信息"+"姓名"+name+"性别"+sex+"年龄"+age+"驾龄"
+DrivingExperience+"所剩分数"+number);
break;
case 2:
System.out.println ("超载闯红灯");
number-=6;
System.out.println("所剩分数"+number);
break;
case 3:
System.out.println ("出车祸逃逸");
number-=12;
System.out.println("所剩分数"+number);
break;
}
return number; //返回最终的分数 为BackScore()的方法传递参数
}
//恢复分数
@Override
public int BackScore(int number2) {
if(number>0){
System.out.println("第二年1月1号的时候");
number=12;
System.out.println("所剩分数"+number);
}else {
System.out.println("马上重考驾照");
}
return number;
}
}
//测试类
public class CarTest {
public static void main(String[] args) {
SmallCar car = new SmallCar();
SmallCar sc =new SmallCar("小明",'男',23,1,11);
System.out.println("=================");
sc.BackScore(sc.Deduction(11,3));
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KaXSMSGz-1591793738145)(C:\Users\USE\Desktop\QQ截图20200610205232.png)]
3定义一个二维空间中的点(x,y)
属性: x坐标, y坐标
方法:打印自己的坐标,判断自己的象限,计算自己和原点的距离,计算自己和另一个点的距离
import java.util.Scanner;
public class PointDistance {
public static void main(String [] args){
Point p =new Point();
double l= p.Distance(p);
//double l= p.getDistance(p);//这是它本身到本身的距离当然是0
System.out.println("和原点的距离是"+l);
Point newPoint=new Point();
System.out.println("两点的距离是"+p.getDistance(newPoint));
}
}
class Point{
double x,y;
public Point(){
Scanner sc = new Scanner (System.in);
System.out.println("输入x y");
x=sc.nextDouble();
y=sc.nextDouble();
System.out.println("该点的坐标是("+x+","+y+")");
/**根据象限的x y值的正负判定
* x为正数时 在一四象限 在判定有的正负继而确定象限
* x为负数时 二三象限
*/
if(x==0||y==0){System.out.println("该点在坐标轴上"); }else {
if(x>0){
if(y>0){
System.out.println("该点在第一象限");
} else{
System.out.println("该点在第四象限");
}
}
else{
if(y>0){
System.out.println("该点在第二象限");
} else{
System.out.println("该点在第三象限");
}
}
}
}
public double getDistance(Point p){
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
public double Distance(Point p){
return Math.sqrt(x*x+y*y);
}
}
}
}
public double getDistance(Point p){
return Math.sqrt((x-p.x)(x-p.x)+(y-p.y)(y-p.y));
}
public double Distance(Point p){
return Math.sqrt(xx+yy);
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buG7TuZT-1591793738152)(C:\Users\USE\Desktop\QQ截图20200610154725.png)]