类和方法
Java是面向对象的语言 一切皆对象 类 Java里面方法是不能独立存在的,只能在类里面声明
类方法 = 静态方法
对象方法 = 实例方法
区别:
1.定义上:
静态方法前面需要使用static修饰
2.意义上:
静态方法依附于对象,比实例方法优先被加载,当这个类被加载到内存中时这个方法就被加载了,而此时对象还不存在,所以只能用这个类来调用静态方法。
对象方法依附于对象,必须创建这个类的一个对象,用对象来调用。
当需要定义一个没有参数的实例方法时,需要用到:
public private protected
static
static可以修饰的内容有:
1.变量——静态变量
2.方法——静态方法
3.类(内部类)——静态内部类
如:
public static void test2(){
}
java参数传递机制
Java时按值传递,传递过去的是一份当前变量的拷贝
当传递的是对象的时候才会改变原来的数值。
可变参数 ... 接收的是数组
可变参数是指参数的个数不确定
String ... args 等价于 String[] args;
public void test4(String ... args){
for (int i = 0;i <args;i++){
System.out.println(args[i]);
}
}
方法重载与构造方法
方法重载:
同一个类里面 方法名相同 参数不同
方法的重载和返回值,修饰符没有关系
如:
public class Person {
public void drink(int a){}
public void drink(float a){}
}
这种情况下是不会出错的 但是如果是下面的情况就会出错
public class Person {
public void drink(int a){}
public int drink(float a){}
}
构造方法:
如何去创建一个对象
系统默认提供一个无参的构造方法
特点:1.方法名和类名相同 2.没有返回值
能够解决两个问题:
1.让代码更简洁
2.在数据使用时能够保证有数据
public class Car {
public int engine;
public int seat;
public int wheelCount;
//无参的构造方法,这是系统默认的
public Car(){
}
public Car(int count,int cEngine,int cSeat){
wheelCount = count;
seat = cSeat;
engine = cEngine;
}
}
此时如果在包里面的另一个类中:
Car c1 = new Car();
c1.wheelCount = 4;
c1.engine = 3;
c1.seat = 4;
Car c2 = new Car(count:4,cEngine:3,cSeat:4);
此时输出的结果相同,显然c2更加简洁!!