javaSE的一些基本常识

来源:互联网 发布:数控车床编程例子 编辑:程序博客网 时间:2024/04/29 09:19

一、static

1.static 定义的方法和属性可以被其他方法调用。

2.static定义的方法和属性不可以被非static的方法调用,包括static的main方法。

3.对象调用的方法可以在static定义的方法中。

4.main方法调用非static方法需要通过对象来调用。

5.this指的是调用方法的对象,哪个对象调用这个方法,this指的就是这个对象。

6.static相当于将属性和方法实例化,变成了实际的东西,而非static的属性和方法只是一个虚拟的东西,必须通过实例化一个对象来实例化这些。

7.形参指的是创建方法时括号里面的参数,实参指的是实际在调用方法的时候传的参数值。

8.static方法不可以用this,因为它不属于任何对象,但是可以通过对象来调用。

9.代码块在类中需要实例化,如果是在main方法中科院直接运行。


二、可变形参

public void method(int a, String ...pp){

System.out.println(pp[0]);

}

String ...pp 这个类型的参数放在最后,三点代表可变参数,pp指的是一个数组名字,最后放入的n个参数相当于存在数组pp中。


三、overload and override

overload:同一个类中,方法名字相同,形参个数不同,或者形参类型不同,返回值不同无效,修饰符不同也是无效。

override:子类继承父类,不想用父类的方法,然后自己重写父类的方法,方法名字相同,返回值相同或者比父类的小,权限比父类要大,子类抛出的异常要小于或者等于父类。


四、权限设置和一些包和构造器

1.default不需要使用任何修饰符,也有人叫friendly,权限是在同一个包内访问。

2.protected 是在同一个类里面,还有它的子类,不能使用访问修饰符来修饰局部变量。

3.boolean的get方法不是get方法,而是isXXX。

4.如果有2个User方法,第一个可以通过导入包的形式来访问,而第二个不可以再次导包,所以直接com.xxx.xxx.User;

5.如果需要直接导入整个包的类,直接com.xxx.*;。

6.导入一个类的一个static成员,import static com.xxx.xxx.User.name;导入一个类的所有的static成员,import static com.xxx.xxx.User.*;。

7.java.lang包中包含了核心类,String System,系统会自动去导入这些包,还有一些其他的包,java.util,java.io,java.net,java.text,java.sql,java.awt,等等。

8.在一个构造方法中可以用this调用另一个构造方法

public Person(String x){

this.x=x;

}

public Person(String x,int y){

this(x);

this.y=y;

}

而且this(x)一定要放在第一位,需要调用一定要写出来,不写出来,就算是默认的构造方法也没有用。

9.先执行父类的构造器再执行子类的构造器,可以使用super调用父类的方法。

10.Fruit fruit=new Apple(); fruit不可以调用子类独有的方法,因为它是父类的引用,Apple xx=(Apple) fruit;这样xx可以调用子类的方法了,因为这个引用已经转化成为了子类的引用;父类对象不可以给子类,因为父类中的功能没有子类多,不可以扩展。

11.Vehicle<---继承----Car<----继承-----BMW;在Vehicle中有static初始化块,普通初始化块,构造器;那么他们的顺序是:

Vehicle的static代码块------->Car的static代码块------->BMW的static代码块------->Vehicle的普通代码块-------->Vehicle的构造器------->Car的普通代码块-------->Car的构造器------->BMW的普通代码块-------->BMW的构造器。





0 0
原创粉丝点击