-
类名首字母大写
查看全部 -
package zonghexunlian; public class Car { String name;//汽车名字 int rent;//租金 int personCount;//拉客人数 double load;//载货 public Car(String name,int rent,int personCount,double load){ this.name=name; this.rent=rent; this.personCount=personCount; this.load=load; } }
package zonghexunlian; public class Manned extends Car { public Manned(String name, int rent, int personCount, double load) { super(name, rent, personCount, load); } }
package zonghexunlian; public class Truck extends Car { public Truck(String name, int rent, int personCount, double load) { super(name, rent, personCount, load); } }
package zonghexunlian; public class Pickup extends Car { public Pickup(String name, int rent, int personCount, double load) { super(name, rent, personCount, load); } }
package zonghexunlian; import java.util.Arrays; import java.util.Scanner; public class Dadazuche { public static void main(String[] args) { System.out.println("欢迎使用嗒嗒租车系统!"); System.out.println("你是否要租车?1是 0否"); Scanner input=new Scanner(System.in); int pd=input.nextInt();//用来接收输入的数,并判断 if (pd==1){ Car[] car={ new Manned("奥迪A4",500,4,0), new Manned("马自达",400,4,0), new Pickup("皮卡学",450,4,2), new Manned("金龙",800,20,0), new Truck("松花江",400,0,4), new Truck("以何为",100,0,20) }; System.out.println("序号 汽车姓名 租金 载客量 载货量"); for (int i=0;i<car.length;i++){ int j=i+1; System.out.print(j); System.out.println("\t "+car[i].name+"\t"+car[i].rent+"\t元/每天"+"\t载人:"+car[i].personCount+"人"+"\t载货:"+car[i].load+"吨"); } System.out.println("请输入你要租汽车的数量:"); int zcs=input.nextInt();//用来接受输入的租车数 Car[] ca=new Car[zcs];//用来执行循环 int zq=0;//总钱数 int zr=0;//总人数 double zh=0;//总货数 String[] jsdz=new String[zcs];//用来接收名字地址 for (int i=0;i<ca.length;i++){ int j=i+1; System.out.println("请输入第"+j+"辆车的序号"); ca[i]=car[input.nextInt()-1];//获取当前输入的车号 zq+=ca[i].rent; zr+=ca[i].personCount; zh+=ca[i].load; jsdz[i]=ca[i].name; } System.out.println("请输入租车天数:"); int ts=input.nextInt(); zq*=ts; System.out.println("你的账单:"); System.out.println("***您选择的车辆由:"); System.out.println(Arrays.toString(jsdz)); System.out.println("***共载人:"+zr+"人"); System.out.println("***共载货:"+zh+"吨"); System.out.println("***租车总价格:"+zq+"元"); } } }
查看全部 -
1.由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
查看全部 -
内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
内部类可分为以下几种:
成员内部类
静态内部类
方法内部类
匿名内部类
Inner i = hello.new Inner();
// 调用内部类对象的方法
查看全部 -
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次
查看全部 -
1111111
查看全部 -
子类的构造的过程当中必须调用其父类的构造方法。
如果子类的构造方法中没有显示调用父类的构造方法,则系统系默认调用父类无参的构造方法。
如果显示的调用构造方法,必须在子类的构造方法的第一行。
如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
查看全部 -
调用对象的show方法是什么
先创建一个对象,再调用方法。比如
HelloWorld hello=new HelloWorld();//创建对象
hello.show();//调用show方法
查看全部 -
接口
1、接口就是用来被继承的、被实现的,修饰符一般建议使用public(注意:不能使用private和protected修饰接口)
2、(1)常量:接口定义的属性是常量,即使定义时不添加 public static final修饰符,系统也会自动加上 (2) 方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract修饰符,系统也会自动加上。
查看全部 -
抽象类;
语法定义:
抽象类前使用abstract关键字修饰,该类为抽象类
应用场景:
a.在某种情况下,父类只是知道其子类应该包含怎样的方法,
但无法准确知道这些子类如何实现这些方法
b.从多个具有相同特性的类中抽象出一个抽象类,以这个抽象类作为子类
的模板,从而避免了子类设计的随意性
作用:
限制规定子类必须实现某些方法,但不关注实现细节
规则:
abstract,定义抽象类
定义抽象方法,只有声明,不需要实现
包含抽象方法的类是抽象类,
抽象类中可以包含普通的方法,也可以没有抽象方法
抽象类不能直接创建,可以定义引用变量抽象方法没有方法体以分号结束。();
查看全部 -
final关键字总结: 1.修饰类,类不能被继承 2.注释方法,改方法不能被重写 3.注释参数时,改参数只能赋一次值
final修饰属性:则该类的属性不会进行隐式的初始化(初始化属性时赋值)或在构造方法中赋值(但只能选其一)
查看全部 -
构造方法不可继承,private私有不可继承
查看全部 -
父类的引用指向子类的对象查看全部
-
方法内部类不能使用访问控制符和 static 修饰符。
创建方法内部类的对象:类名 对象名=new 类名();
查看全部 -
静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
外部类的静态成员与静态内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
查看全部
举报