-
构造方法是定义在Java类中的一个用来初始化对象的方法
查看全部 -
在一个HelloWorld的类中定义了方法,在同一个包的另一个World类中,如果要调用HelloWorld类中的方法,创建对象名 HelloWorld 对象名=new HelloWorld。然后调用 对象名.方法名
查看全部 -
成员变量可以应用在定义它的类中和其它要调用这个变量的其它类中,局部变量只能应用在定义它的方法中。
Java会给成员变量一个初始值,不会给局部变量赋予初始值。
在一个方法中不允许有同名局部变量,在不同方法中可以有同名局部变量。
两类变量同名时,局部变量具有更高的优先级。
查看全部 -
类是对象的汇总,是抽象的集合,对象是具体的事务,方法是对象的功能,属性是对象的自身属性,颜色,身高。
查看全部 -
父类
package com.imooc;
public class Car {
public String name; //名称
public double price; //租金
private int pnum; //载客量
private double huo; //货物容量
public int getPnum() {
return pnum;
}
public void setPnum(int pnum) {
this.pnum = pnum;
}
public double getHuo() {
return huo;
}
public void setHuo(double huo) {
this.huo = huo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
子类客车
package com.imooc;
public class PaCar extends Car {
public PaCar(String name, double price, int pnum) {
this.setName(name);;
this.setPrice(price);
this.setPnum(pnum); //载人数
}
@Override
public String toString() {
return this.getName() + "\t" + this.getPrice() + "元/天" + "\t载人:"+this.getPnum()+"人";
}
}
子类货车
package com.imooc;
public class Trunk extends Car {
public Trunk(String name, double price, double huo) {
this.setName(name);;
this.setPrice(price);
this.setHuo(huo);///载货量
}
@Override
public String toString() {
return this.getName() + "\t" + this.getPrice() + "元/天" + "\t载货:"+ this.getHuo() +"吨";
}
}
子类皮卡
package com.imooc;
public class PickUp extends Car {
public PickUp(String name, double price, int pnum, double huo) {
this.setName(name);;
this.setPrice(price);
this.setPnum(pnum); //载人数
this.setHuo(huo); //载货数
}
@Override
public String toString() {
return this.getName() + "\t" + this.getPrice() + "元/天" + "\t载人:"+this.getPnum()+" 载货:"+this.getHuo()+"吨";
}
}
测试类
package com.imooc;
import java.util.Scanner;
public class Initial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car[] cars = {
new PaCar("奥迪A4", 500, 4),
new PaCar("马自达6", 400, 4),
new PickUp("皮卡雪6", 450, 4, 2),
new PaCar("金龙", 800, 20),
new Trunk("松花江", 400, 4),
new Trunk("依维河", 1000, 20)
};
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否租车:1是 0否");
Scanner scan = new Scanner(System.in);
String input = scan.next();
if(input.equals("1")) {
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号\t汽车名称\t租金\t容量");
for(int i =0; i<cars.length;i++) {
System.out.println((i+1)+"\t"+cars[i]);
}
System.out.println("请输入您要租汽车的数量:");
int num = scan.nextInt();
Car[] newCars = new Car[num];
for(int i=0;i<num;i++) {
System.out.println("请输入第"+(i+1)+"辆车的序号");
int j = scan.nextInt();
newCars[i]= cars[j];
}
System.out.println("请输入租车天数:");
int t = scan.nextInt();
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
int toltalperson =0;
for(int i=0;i<num;i++) {
if(newCars[i].getPnum()!=0) {
System.out.print(newCars[i].getName()+"\t");
toltalperson += newCars[i].getPnum();
}
}
System.out.print("共载人:"+toltalperson+"人");
System.out.print("\n");
System.out.println("***载货的车有:");
int toltalhuo =0;
for(int i=0;i<num;i++) {
if(newCars[i].getHuo()!=0) {
System.out.print(newCars[i].getName()+"\t");
toltalhuo += newCars[i].getHuo();
}
}
System.out.print("共载货:"+toltalhuo+"吨");
System.out.print("\n");
double toltalmoney = 0;
for(int i=0;i<num;i++) {
toltalmoney += newCars[i].getPrice();
}
System.out.println("***租车总价格:"+ toltalmoney*t +"元");
}
}
}
查看全部 -
super,需要放在方法中。
查看全部 -
成员变量自己有一个初始值,局部变量没有初始值
查看全部 -
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
查看全部 -
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
查看全部 -
普通成员方法可以直接访问静态变量
查看全部 -
静态变量可以掉静态不能掉非静态,想调需要建立对象
普通方法可以直接访问静态变量和非静态
静态方法不能调用非静态方法
查看全部 -
方法的重写
查看全部 -
Java中的this关键字
查看全部 -
Java访问修饰符
查看全部
举报