java易错点总结1 main 方法
main 方法是程序的入口,如果有个静态方法,那么这个静态方法应该放在main 方法前面而不是后面
在编写一个类animal
public class Animal {
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge () {
return age;
}
}
在编写一个测试类来进行测试:
public class Animal_test {
public static void m1(Animal a) {
int age = a.getAge();
a.setAge(++age);
System.out.println("这是a方法中出来的年龄"+a.getAge());
}
public static void main(String[] args) {
Animal a = new Animal();
a.setAge(10);
m1(a);
System.out.println("这是main方法中的年龄"+a.getAge());
}
如果将静态方法放在main方法后面会出现报错的现象:提示
2.java中的无参构造函数 是在一个类创建的时候自动创建的, 如果一个类中有 有参的构造函数,那么就会不会为你自动创建无参的构造函数 ,因此如果要创建有参的构造函数,我们应该手动的给他创建一个无参的构造函数。
构造函数是没有返回值 ,不用void修饰, 没有return , 只用类名来表示即可。
不能手动调用无参的构造函数
public class User_test01 {
public static void main(String[] args) {
User u = new User();
u.User();//这种会出现编译报错的问题
}
}
3.this的用法this是代表对象本身的引用,this可以区分成员变量和局部变量 ,可以调用有参的构造函数 this()
User(){
// System.out.println("正在调用无参的构造函数");
this("小小",11);//this调用有参的构造方法只能放在程序的第一行
// this.User(“小小”,22);编译会报错
}
User(String name,int age){
this.name = name;
this.age = age;
4.static可以修饰变量,被static修饰的变量叫做静态变量,程序运行时静态变量存放在方法区里面,因此,静态变量在类加载阶段赋值,并且只赋值一次
static可以修饰方法,被static修饰的方法叫做静态方法,不用创建对象就能能直接访问该方法,即使用类名.静态方法名的方式。静态方法不能访问非静态的数据,静态方法不能使用this。
static可以定义静态语句块,静态语句块在类加载阶段执行,并且只执行一次,并且是自上而下的顺序执行,在构造方法之前执行。