java016构造方法及其重载,this关键字

2018-11-02  本文已影响0人  牛倩贱

1.构造方法

        可以在实例化对象的同时就为这个对象的属性进行赋值。

定义:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法;

    a.方法名与类名相同

    b.在方法名的前面没有返回值类型的声明(void)不能写。

    c.在方法中不能使用return语句返回一个值

例:public  class  person{

                int  age;

                public  person  (int  a){  //定义有参的构造方法

                      age=a;

}

              public  void  speak()  {

system.out.println("i  am"+age+"years  old") ;

}

}

-----------------------------------------------------------

//测试类

    public  class  Example {

        public  static  void  main(String[]args){

          person  p = new person(20);      //实例化person对象

            p.speak( );

}

}

2.构造方法的重载

        与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法只要构造方法的参数类型或参数个数不同即可。

    public  class Student{

        string  name;

        int  age;

        //定义两个参数的构造方法

public  Student (String con_name ; int  con_age){

        name  =  con_name;

        age = con_name;

}

//定义一个参数的构造方法

public  Student  (String  con_name){

        name = con_name;    //为name属性赋值

}

        public  void  speak( ){

            //打印name和age的值

        system.out.println("大家好,我叫“+name+",我今年“+age+”岁);

}

--------------------------------------------------------------------

//测试类

public  class Example{

    public  static void main (String[]args){

//分别创建两个对象p1和p2

Student  p1 = new Person("陈杰“);

Student  p2 = new Person("李芳”,18);

//通过对象p1和p2调用speak方法

p1.speak();

p2.speak();

}

}

3.this关键字的使用

this:代表所在类 的对象引用

        方法被那个对象调用,this就代表哪个对象

使用场景:

    当局部变量隐藏成员变量的时候

练习:

public class Preson {

private String name;

private int age;

public Preson(){}

public Preson(String name, int age ){

this .name = name;

this. age=age;

}

public void setAge(int age) {

    this.age = age;

}

public int getAge() {

return age;

}

public void setName(String name) {

this.name=name;

}

public String getName() {

return name;

}

public void speak(){

System.out.println("我是"+name+",我今年"+age+"岁了!");

}

}

//测试类 ----------------

public class PersonDemo {

public static void main(String[] args) {

Preson p=new Preson();

System.out.println(p.getName()+"--------"+p.getAge());//null--------0

System.out.println("------------");

p.setName("球球");

p.setAge(28);

System.out.println(p.getName()+"--------"+p.getAge());//球球--------28

Preson p2 = new Preson("球球",28);

p2.getAge();

p2.getName();

    System.out.println(p2.getName()+"--------"+p2.getAge());                                             

}

}

4.类名作为形式参数传递

如果看到一个方法,他的形式参数是一个类名的话,那么他传递的一定是该类的对象。

例如,以下有三个类:

5.类名作为返回值类型

如果方法的返回值是类名,那就是说返回的是该类的对象。

例如:

上一篇 下一篇

猜你喜欢

热点阅读