一、代码部分
下面是一段最基础的Java代码:
public class Main {
public static void main(String[] args) {
Car car1 = new Car();
System.out.println(car1.getName());
car1.setName("五菱宏光");
car1.setPrice(114514);
System.out.println(car1.getName());
System.out.println(car1.getPrice());
Car car2 = new Car("奔驰");
System.out.println(car2.getName());
System.out.println(car2.getPrice());
Car.sound();
}
}
class Car{
String Name;
float Price;
public Car(){
}
public Car(String name){
Name = name;
}
public Car(String name,float price){
Name = name;
Price = price;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public float getPrice() {
return Price;
}
public void setPrice(float price) {
Price = price;
}
public void initiate(int i){
System.out.println("现在是低速状态");
}
public void initiate(int i,int j){
System.out.println("现在是正常速度");
}
public void initiate(int i,int j,int k){
System.out.println("现在是高速状态");
}
public static void sound(){
System.out.println("锃锃锃(一辆不知道什么牌子的车开走了)");
}
}
下来我们将通过解释代码,来介绍标题所述知识点。
二、对于创建一个新的对象的解释
Car car1 = new Car();
在这段代码中new Car();的意思是用new关键字用来创建对象,以Car类为模板,在独立的空间内存中开辟一间,用来储存对象信息,而Car()是一种构造方法,在每个类中默认都有一个,代表该对象的类型是Car类型的;
Car car中,与定义变量相同,前者是数据类型,后者是变量名;
在这段代码中,“=”把右边的对象地址赋值给左边的变量,即用变量在之后的编写中是表示内存的对象。
三、成员变量与局部变量
成员变量在类中定义,系统可以自动初始化:
String Name; float Price;
常用成员变量自动初始化的值:
- 整数类型(byte、short、int和long)默认为0。
- 浮点类型(float和double)默认为0.0。
- char类型默认为'\u0000',即空字符。
- boolean类型默认为false。
- 引用类型(类、接口、数组等)默认为null。
四、Java中常见方法的使用
1.构造方法
(1).概念:构造方法与类名相同,且没有返回值,不需要用void修饰;
(2).作用:为创建的对象成员初始化;
在Java的类中,默认自带一个构造方法,此时我们若定义一个构造方法,则默认的构造方法失效,上述代码中,构造方法的展示如下:
public Car(){
}
默认的构造方法,若该类本身没有构造方法,则上述代码可以不写,但如果有自己定义的构造方法的同时,还想使用该构造方法,则必须进行编写,不然无法使用。
public Car(String name){
Name = name;
}
构造方法1:此方法可以对成员变量Name进行初始化。
public Car(String name,float price){
Name = name;
Price = price;
}
构造方法2:此方法可以对两个成员变量进行初始化。
注:在输入实参时,要按顺序输入,不然程序可能报错。
2.方法重载
在一个类中,有多个方法名字相同,但参数个数不同的方法,这种情况被称为方法重载,系统可以通过参数不同(数量、类型、顺序)来识别,例如上述代码中的
initiate
方法
通过改变方法的参数,是同一种方法进行重载。
同时,方法重载中返回值类型也可以改变
注意:形参的变量名不同是不能进行方法重载的
3.静态方法
用static修饰的方法,叫做静态方法,该方法不用创建对象,直接用类名.方法名便可以使用。
该方法在这里只是提及,会用即可,后面会对该方法进行详细的解释。