华恩JAVA班第14天

xiaoxiao2021-02-28  48

华恩JAVA班第14天

初始化 变量{  实例(成员)static 静态  局部 } 构造方法(初始化成员变量) 定义:名字与类名相同且没有返回值 public class Init1 {  //定义一个构造方法  public Init1(){   System.out.println("Init1...");  }  public Init1(String content){   System.out.println(content);  }  public static void main(String[] args)  {   for(int i =1;i<10;i++){    newInit1();   }   for(int i =1;i<10;i++){    newInit1("abc");   }  } }

构造方法的重载 public class Kaoshi {  public static void main(String[] args) {   Student stud1 = newStudent("张三","12345");   Student stud2 = newStudent("李四");   Student stud3 = newStudent("王五","123456","12345678");

 } } class Student{  private String name;  private String idcard;  private String phone;  public Student(String name,String idcard){   this(name); //方法之间的调用   this.idcard = idcard;  }  public Student(String name){   this.name = name;  }  public Student(String name,String idcard,Stringphone){   this(name,idcard);//方法之间的调用   this.phone = phone;  }  public void setName(String name){   this.name = name;  }                                                                                                                                                                                                }

构造方法初始化顺序 public class Init3 {  public static void main(String[] args)  {   House house = newHouse();   house.f();  } } class windows{  public Windows(int mark){   System.out.println(mark);  } } class House{  //构造方法之前初始化  Windows window = new Windows(1);  public House(){   window = new Windows(2);  }  Windows window2 = new Windows(3);  public void f();  System.out.println("print.."); } 说明构造方法的代码块先执行 public class Init3 {  public static void main(String[] args){   //测试静态数据的初始化   Table table0 = null;   System.out.println("++++++++");   Table table1 = newTable();   System.out.println("********");   Table table2 = newTable();   System.out.println("!!!!!!!!");   new Cupboard();  } } class Row1{  Row1(int marker){   System.out.println("Row1"+marker);  }  void f1(int marker){   System.out.println("f1"+marker);  } } class Table{  static {   //静态块   System.out.println("staticblock...");  }  static Row1 row1 = new Row1(1);  Table(){  System.out.println("Table");  row2.f1(1);  }  void f2(int marker){   System.out.println("f2"+marker);  }  static Row1 row2 = new Row1(2);  static {   //静态块   System.out.println("staticblock...");  } } 说明static的代码只会在类一开始的时候执行一次,且只执行一次 静态块和静态太吗之间按顺序执行,且都优于构造方法执行 class Cupboard {  Row1 row3 = new Row1(3);  static Row1 row4 = new Row1(4);  Cupboard(){   System.out.println("Cupboard");   row4.f1(2);  } } 先执行静态代码 再执行一般代码 声明不会调用构造方法

静态成员可以直接调用 但必须先初始化

public class Init3{  public static void main(String[] args){   //new Cups();   //new Cups();   Cups.cup1.f1(1);   Cups.cup1.f1(1);  } } class Cup {  int i = 0;  Cup(int marker){   System.out.println("Cup"+marker);  }  void f1(int marker){   i++;   System.out.println("f1"+marker);        System.out.println("i = "+i);  } } class Cups {  //显示的静态初始化  static Cup cup1;  static Cup cup2;  static{   cup1 = new Cup(1);   cup2 = new Cup(2);  }  Cups(){   cup1.f1(1);   System.out.println("Cups...");  } } 实例变量初始化 public class Init3{  public static void main(String[] args){   for(inti=0;i<5;i++){    newMugs();   }  } } class Mug {  Mug(int marker){   System.out.println("Mug"+marker);  }  void f(int marker){   System.out.println("f"+marker);  } } class Mugs {  Mug mug1;  Mug mug2;  {   mug1 = new Mug(1);   mug2 = new Mug(2);   System.out.println("mug1&mug2 init...");  }  Mugs(){   System.out.println("Mugs");  } }

输出: Mug 1 Mug 2 mug1 &mug2 init... Mugs Mug 1 Mug 2 mug1 &mug2 init... Mugs Mug 1 Mug 2 mug1 &mug2 init... Mugs Mug 1 Mug 2 mug1 &mug2 init... Mugs Mug 1 Mug 2 mug1 &mug2 init... Mugs

数组的定义与遍历 public class Init3{  public static void main(String[] args){   float[] score = newfloat[30];  //值都是0   int[] age = new int[10];   String[] name = newString[30];   Float[] score1 = newFloat[30];

  int[] a1 ={1,2,3,4,5,6};   String[] b1 ={"a","b","c"};

  Emp[] emps = newEmp[5];   Emp[] emps2 = {newEmp("aa"),new Emp("bb"),null};   System.out.println("a1 ="+a1.length);   System.out.println("emps2 ="+emps2.length);   for(int i=0;i    System.out.println(a1[i]);   }   for(Emp emp : emps2){    if(emp !=null){     System.out.println(emp.name);    }   }  } } class Emp {  String name;  int age;

 public Emp(String name){   this.name = name;  } }

import: import java.util.Arrays; public class Init3{  public static void main(String[] args){   int[] a1 = {3,2,1,5,6,4};   int[] a2;   a2 = a1;   for(int i=0;i    a2[i] =a2[i]+1;   }   for(int i=0;i    System.out.println(a1[i]);   }    Emp[] emp1 = {new Emp("aa"),newEmp("bb")};   Emp[] emp2 = emp1;   emp2[0].name = "aaaa";   Arrays.sort(a1);   System.out.println(emp1[0].name);   System.out.println(Arrays.toString(emp1));   System.out.println(Arrays.toString(a1));  } } 可变参数: public class NewVarArgs{  //可变参数  static void printArray(Object... args){   for(Object obj : args){    System.out.print(obj+"");   }   System.out.println();  }  static void printArray(Integer... args){   for(Integer i : args){    System.out.print(i+"");   }  }  public static void main(String[] args){   printArray(new Integer(1),newInteger(3));   printArray(1,3.0F,4.8d,"f");   printArray("a","b","c","d");

  printArray(4,5,6);   printArray(2,newInteger(8));  } } 枚举类型

//enum 枚举类型 enum Spiciness{  NOT,MILD,MEDTUM,HOT,FLAMING } enum Sex{  MEN,WOMEN } public class SimpleUse{  public static void main(String[] args){   Spiciness s =Spiciness.MEDTUM;   System.out.println(s);   Sex men = Sex.MEN;   for(Sexsex:Sex.values()){    System.out.print(sex+"");   }  } }

转载请注明原文地址: https://www.6miu.com/read-74798.html

最新回复(0)