看到Java编程思想里面提到的父子类构造器的调用顺序,再加上自己对static的理解,特地写了这个博文。
例子1:
java基础知识4
abstract
java基础知识3
可变参数
Java SE5.0以后,提供了可变参数的调用方法:语法:int… arr
下面是一些需要特别注意的点:
public class VariableMethod {
public static void showarray(int a,int... arr){
System.out.println("a:"+a);
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
}
//编译不通过,不支持两个可变参数
/*public static void showarray(int a,int... arr,String...b){
System.out.println("a:"+a);
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
}*/
//不支持重载void showarray(int a,int... arr),下面的方法编译不通过
/*public static void showarray(int a,int[] arr){
//System.out.println("a:"+a);
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
} */
//编译不通过,可变参数需要放在最后一个参数
/*public static void showarr(int... arr,String name){
}*/
public static void showarray(int a,int b,int c){
System.out.println(a+" "+b+" "+c);
}
public static void main(String[] args){
showarray(1,2,3);//优先匹配不可变参数的方法,输出1 2 3 而不是a:1
//showarray(1,2,3);
//可以把数组传递给可变参数的最后一个参数
showarray(2,new int[]{1,2,3});
}
}
java基础知识1
public,protected,private可见性
public:所有类都可见;
protected:包内所有类以及其他包的子类;
private:己类以及内部类可见;
默认(不加修饰符):包内可见;
static:
静态域:被static修饰的域,它属于类,不属于任何对象实例;
static修饰的方法,属于类,可通过类来调用,同时返回类型也必须是static的类型(基本类型);
不能直接访问非静态对象和方法,不能使用super和this;
也就意味着只能操作静态域了。
static块:
在类加载时被创建,优先于非static块执行;
总而言之,static修饰的东西会在类加载时准备好,脱离对象执行;
java基础知识2
继承/多态
父类:雇员类,有id,name,salary域,以及相应的getter和setter;