类的基本形式2(有this关键字的使用)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的基本形式2(有this关键字的使用)相关的知识,希望对你有一定的参考价值。

1.构造方法

构造方法主要作用是帮助新创建的对象赋初始值。

定义方式:class 类名称{

                        访问权限 类名称(类型1 参数1,类型2 参数2......){

                         程序语句;

                        .......      //构造方法没有返回值

                       }

         }

     注意:1.它具有与类名相同的名称 2.它没有返回值

 调用机制:构造方法在创建对象是自动调用,并执行构造方法内容(构造方法无需在程序中调用,在对象生成是自动执行)

public class c {
      
     public c(){
         System.out.println("sea");
     }
    public static void main(String[] args) {
        c a=new c();
    }

}

 2.构造方法的重载

只要构造方法的参数个数不同或类型不同,就可以定义多个名称相同的构造方法。

public class c {
     private int age;
     private String name;
    
     public c(int a,String n){
            age=a;
            name=n;
            System.out.println("sea");
     }
     public String show(){
              return "我叫"+name+",年龄"+age;
          }
    public static void main(String[] args) {
        c a=new c(18,"jeep");
        System.out.println(a.show());
    }

}

3.对象的比较

内存地址比较:==

内容比较:equals()

public class equal {
    //“==”比较对象储存的物理位置
    public static void main(String[] args) {
        String a=new String("aaa");
        String b=new String("aaa");
        String c=b;
        if(a==b){
            System.out.println("a==b");
        }else{
            System.out.println("a!==b");//输出
        }
        if(b==c){
            System.out.println("b==c");//输出b==c
        }else{
            System.out.println("b!==c");
        }
        if(a==c){
            System.out.println("a==c");
        }else{
            System.out.println("a!==c");//输出
        } 
}
}
public class equal {
    //“equals”比较对象的内容
    public static void main(String[] args) {
        String a=new String("aaa");
        String b=new String("aaa");
        String c=b;
        if(a.equals(b)){
            System.out.println("a==b");//输出
        }else{
            System.out.println("a!==b");
        }
        if(b.equals(c)){
            System.out.println("b==c");//输出
        }else{
            System.out.println("b!==c");
        }
        if(a.equals(c)){
            System.out.println("a==c");//输出
        }else{
            System.out.println("a!==c");
        }
    }

}

4.this关键字的使用

(1)this表示当前对象,即指调用类中方法或类中属性的那个对象

public class this1 {
       private int age;
       private String name;
       public  this1(int a,String n){
            age=a;//this.age=a;
            name=n;//this.name=n;
        }
    
}

(2)用this调用构造方法

public class this1 {
        int age;
       String name;
       public  this1(){
            System.out.println("lady1");
        }
       public  this1(int a,String n){
           this();//调用无参数的构造方法
           this.age=a;
           this.name=n;
           System.out.println("******");
       }
    

}
public class this11 {

    public static void main(String[] args) {
        new this1();//没有参数,调用没有参数的构造方法
        new this1(11,"lady");//有参数调用有参数的构造方法
    }

}

 

以上是关于类的基本形式2(有this关键字的使用)的主要内容,如果未能解决你的问题,请参考以下文章

第六天(下) 封装和this

2017.06.06-日记-面向对象-this关键字及JAVA源文件结构

this,super关键字的使用

java面向对象的基本形式,封装继承多态

JAVA中this关键字的用法

在 C# 中静态方法的形式参数中使用“this”关键字