构造方法和this,static,介绍

构造方法:

作用:

初始化值

赋值

语法:

​ 修饰符 类名(){}

在执行的时候,无参构造方法会自动生成,但是如果类中有了有参构造方法,则不会自动生成。推荐在写类的时候将有参和无参构造方法都写。

在我们执行的时候,new对象时,对象名后面括号[ Dog dog = new Dog() ] 里面可以有的参数类型必须符合类中已声明的有参构造方法。

public Dog(){
        System.out.println("Dog无参构造方法....");
        this.name="土狗";
        
    }

public Dog(String n,int h,int love){
        System.out.println("有参构造方法....");
        this.name=n;
        this.health=h;
        this.love=love;
    } 



测试类
Dog  dog = new Dog(); 
Dog  dog2= new Dog("土狗",89,100);

this:

this: 表示当前类的

不写也是默认的存在

可以修饰属性(this.属性名),方法(this.方法名()),构造方法(this();)

在使用this调用构造方法的时候必须在构造方法的第一行

 

static:

static 静态的,是随着类的加载而加载的,可以修饰属性和方法还有代码块

  • 表示共用的

  • 什么时候使用,试想饮水机和水杯的例子

  • 使用:static 修饰的属性或者方法,可以使用对象名点的方式调用,也可以直接使用

    • 类名点的方法调用(推荐使用)

  • 方法调用方面:

  • 普通方法 普通方法是可以调用普通方法的,也可以调用静态方法

  • 静态方法 静态方法可以调用静态方法,不能调用普通方法

       注意:在静态方法中,不能使用this关键字。

 

public class StartPerson {

    String name;
    int age;
    static String country;
public  void m1(){

        m2();

        s1();

        System.out.println("m1");

    }

    public  void m2(){

        System.out.println(name);

        System.out.println(this.name);

        

        System.out.println("m2");

    }

    

    

    public static void s1(){

        s2();

        /m1();/

        System.out.println("s1");

    }

    public static void s2(){

        /*System.out.println(name);

        System.out.println(this.name);*/

        System.out.println("s2");

    }

    

    

    

    

    

    public static void main(String[] args) {

        StartPerson  s = new StartPerson();

        StartPerson.country="";

        

        StartPerson.s1();

        

        

    }

 

posted @ 2020-05-09 17:39  南山i南  阅读(156)  评论(0)    收藏  举报