创建商品类,包含商品名称,价格属性,包含静态属性销售总价格,实例 化三个商品对象,统计商品的总价格
package a;
class shangpin {
public static void main(String[] args) {
// class sp在class shangpin里面
sp s1 = new sp();
s1.ID = "1";
s1.price = 3000;
s1.name = "手机";
// 静态变量可以使用类名直接进行调用
sp s2 = new sp();
s2.ID = "2";
s2.price = 4000;
s2.name = "电脑";
// 静态变量可以使用类名直接进行调用
// 生命周期是程序加载到程序结束
// 可以被多个对象所共享
sp s3 = new sp();
s3.ID = "2";
s3.price = 2;
s3.name = "辣条";
sp.zongjiage = s1.price + s2.price + s3.price;
System.out.println(sp.zongjiage+"元。");
}
}
class sp {// class sp在class shangpin外面
public String ID; // 普通成员变量
public String name; // 普通成员变量
public double price;// 普通成员变量价格
// 统计商品的总价格
public static double zongjiage = 0; // 声明静态变量zongjiage
}
2.声明一个动物类,包含动物名称属性,声明动物叫的方法,声明犬类继承 动物类,重写叫的方法,打印犬类是汪汪的叫,声明猫类继承动物类,重写 叫的方法,打印猫类是喵喵的叫
package a;
public class animal {
public static void main(String[] args) {
dongwu c = new cat("黑猫");
c.sayc();
dongwu d = new dog("白狗");
d.sayd();
}
}
class dongwu{
public String name;
public dongwu(String name) {
this.name = name;
}
public void sayc() {
System.out.println(this.name + "是喵喵的叫");
}
public void sayd() {
System.out.println(this.name + "是汪汪的叫");
}
}
class dog extends dongwu {
public dog(String name) {
super(name);
}
}
class cat extends dongwu {
public cat(String name) {
super(name);
}
}
3.声明一个电子产品类,包含功能的方法,声明电脑类继承自电子产品类, 重写功能的方法,声明手机类继承电子产品类,重写功能的方法,声明MP3继 承电子产品类,重写功能的方法,在主类里再声明一个判断的方法,根据传 入电子设备的不同打印不同的功能
package a;
public class demo {
public static void main(String[] args) {
DianZiChanPin P = new MP3("苹果电脑");
P.gongnengd();
DianZiChanPin S = new diannao("华为手机");
S.gongnengs();
DianZiChanPin M = new diannao("诗书画唱MP3");
M.gongnengM();
}
}
class DianZiChanPin {
public String name;
public DianZiChanPin (String name) {
this.name = name;
}
public void gongnengd() {
System.out.println(this.name + "的功能是看钉钉");
}
public void gongnengs() {
System.out.println(this.name + "的功能是打电话");
}
public void gongnengM() {
System.out.println(this.name + "的功能是听歌");
}
}
class diannao extends DianZiChanPin {
public diannao(String name) {
super(name);
}
}
class shouji extends DianZiChanPin {
public shouji(String name) {
super(name);
}
}
class MP3 extends DianZiChanPin {
public MP3(String name) {
super(name);
}
}
按要改名的类,再按F2就可以换类的名。
4.声明抽象类人,包含编号,姓名,年龄属性,包含抽象方法吃饭,学习, 声明接口购物,声明接口上课,声明接口做备课,声明接口做作业,声明老 师类继承自抽象类人类实现购物和备课的接口,声明学生类继承抽象类人类 实现写作业和上课的接口,在main函数中进行调用
package b;
public class demo {
public static void main(String[] args) {
ren t = new teacher();// /向上转型,抽象类
gouwu t1 = new teacher();// 向上转型,接口
beike t2 = new teacher();
t.name = "诗书";
t.chifan();
t1.maidx();
t2.bk();
ren s = new student();
shangke s1 = new student();
zuozuoye s2 = new student();
s.name = "画唱";
s.xuexi();
s1.sk();
s2.zzy();
}
}
abstract class ren {
String id;
String name;
int age;
public abstract void chifan();
public abstract void xuexi();
// 抽象类不能包含学习,因为所有人不一定都学习,题目有错,这里按题目要求来,课程声明为接口
}
interface gouwu {
public abstract void maidx();
}
interface shangke {
public abstract void sk();
}
interface beike {
public abstract void bk();
}
interface zuozuoye {
public abstract void zzy();
}
class teacher extends ren implements gouwu, beike {
public void chifan() {
System.out.println(this.name + "在吃饭");
}
public void bk() {
System.out.println("在备课");
}
public void maidx() {
System.out.println("在买东西");
}
public void xuexi() {
}
}
class student extends ren implements zuozuoye, shangke {
public void xuexi() {
System.out.println(this.name + "在学习");
}
public void sk() {
System.out.println("在上课");
}
public void zzy() {
System.out.println("在做作业");
}
public void chifan() {
}
}
5.完善租车系统
package b;
import java.util.Scanner;
public class zuche{
public static void main(String[] args) {
che xiaohuoche=new huoche(1,"小货车",30, 0, 3);
che dahuoche=new huoche(2,"大货车",50,0, 5);
che xiaokeche=new keche(3,"小客车",40,4,0);
che dakeche=new keche(4,"大客车",80,10,0);
che xiaopika=new pika(5,"小皮车",60,2,4);
che dapika=new pika(6,"大皮车",100,4,8);
che[] c=new che[6];
c[0]=xiaohuoche;c[1]=dahuoche;c[2]=xiaokeche;
c[3]=dakeche;c[4]=xiaopika;c[5]=dapika;
yonghu yh=new yonghu();
che[] c_zuche = null;
while(true){
System.out.println("---------神舟租车系统-----------");
System.out.println("请输入你的操作:1.登录 2.注册 3.跳出系统");
Scanner s=new Scanner(System.in);
int num=s.nextInt();
if(num==1){
System.out.println("----执行登录操作----");
System.out.println("请输入用户名:");
String uname=s.next();
System.out.println("请输入你的密码");
String pwd=s.next();
if(uname.equals(yh.uname)&&pwd.equals(yh.pwd)){
System.out.println("登录成功!");
break;
}else{
System.out.println("登录失败");
}
}else if(num==2){
System.out.println("----执行注册操作----");
System.out.println("请输入用户名:");
String uname=s.next();
System.out.println("请输入你的密码");
String pwd=s.next();
System.out.println("请输入你的姓名");
String name=s.next();
yh.uname=uname;
yh.pwd=pwd;
yh.name=name;
System.out.println("注册成功!");
}else if(num==3){
System.exit(0);
}
}
//租车操作
while(true){
System.out.println("欢迎,"+yh.name+"请选择你的操作:");
System.out.println("1.查看车辆列表 2.进行租车 3.查看我的租车总价格,总载人量,总载物量 4.跳出系统");
Scanner s1=new Scanner(System.in);
int num=s1.nextInt();
if(num==1){
for(che i:c){/*相当于for(int i=0;i
i.jieshao();
}
}else if(num==2){
System.out.println("请输入你要租的车辆数");
int num1=s1.nextInt();
c_zuche=new che[num1];
for(int i=0;i
System.out.println("请输入第"+(i+1)+"车辆的编号");
int bianhao=s1.nextInt();
switch(bianhao){
case 1:
c_zuche[i]=xiaohuoche;break;
case 2:
c_zuche[i]=dahuoche;break;
case 3:
c_zuche[i]=xiaokeche;break;
case 4:
c_zuche[i]=dakeche;break;
case 5:
c_zuche[i]=xiaopika;break;
case 6:
c_zuche[i]=dapika;break;
}
}
System.out.println("租车成功!");
}else if(num==3){
if(c_zuche==null){
System.out.println("你还没有进行租车呢!");
}else{
int zongjiage=0;
int zongzairenliang=0;
int zongzaiwuliang=0;
for(che i:c_zuche){
i.jieshao();
zongjiage+=i.jiage;
zongzairenliang+=i.zaikeliang;
zongzaiwuliang+=i.zaiwuliang;
}
System.out.println("总价格"+zongjiage+"总载人量"+
zongzairenliang+"总载物量"+zongzaiwuliang);
}
}else{
System.exit(0);/*终止系统,不可为break,break是跳出循环*/
}
}
}
}
class yonghu{
String uname;
String pwd;
String name;
}
abstract class che{
int bianhao;
String name;
int jiage;
int zaikeliang;
int zaiwuliang;
public che(int bianhao, String name, int jiage, int zaikeliang,
int zaiwuliang) {
this.bianhao = bianhao;
this.name = name;
this.jiage = jiage;
this.zaikeliang = zaikeliang;
this.zaiwuliang=zaiwuliang;
}
abstract void jieshao();
}
class huoche extends che {
public huoche(int bianhao, String name, int jiage,
int zaikeliang,int zaiwuliang) {
super(bianhao,name,jiage, zaikeliang,zaiwuliang);
}
void jieshao() {
System.out.println("编号"+this.bianhao+"\t名称"+this.name+
"\t价格"+this.jiage+"\t载物量"+this.zaiwuliang);
}
}
class keche extends che{
public keche(int bianhao, String name, int jiage, int zaikeliang,
int zaiwuliang) {
super(bianhao, name, jiage, zaikeliang, zaiwuliang);
}
void jieshao() {
System.out.println("编号"+this.bianhao+"\t名称"+
this.name+"\t价格"+this.jiage+"\t载人量"+this.zaikeliang);
}
}
class pika extends che{
public pika(int bianhao, String name, int jiage, int zaikeliang,
int zaiwuliang) {
super(bianhao, name, jiage, zaikeliang, zaiwuliang);
}
void jieshao() {
System.out.println("编号"+this.bianhao+"\t名称"+
this.name+"\t价格"+this.jiage+"\t载人量"+this.zaikeliang+"载物量"+
this.zaiwuliang);
}
}