java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java构造方法的互相调用

java构造方法的互相调用方式

作者:一颗菘菜

这篇文章主要介绍了java构造方法的互相调用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java构造方法的互相调用

public Student(int age){
    super();
    this.age = age;
}
 
public Student(String name , int age){
    /*
        super(); 注意,这里不能再调用super();因为下边的this(age);调用了上方的构造器,已经存在了    
        super();该构造器内不能再次调用。所以只写一个this(age)就够了;
    */
    this(age);
    this.name = name;
}

其他的小细节

构造方法体内调用父类构造器( super(); )或重载构造器( this(); )时,应放在方法体内的第一行。

构造方法及其重载

1.构造方法

类中有一种特殊的成员方法,其方法名与类名相同,称为构造方法。

通过构造方法可以完成对象的创建,以及实例变量的初始化。

下面是一个构造方法示例:

public class Puppy{
  public Puppy( ) { }
  public Puppy(String name) {

       //这个构造器仅有一个name

      }
}  

每个类都有一个隐藏的无参构造函数。

public class Dog{
 
    /**
     * 带参构造函数
     * @param name
     * @param age
     */
    public Dog(String name,int age){
        this.age = age;
        this.name = name;
    }
 
    /**
     * 无惨构造函数
     */
    public Dog(){}
 
    String name;
    int age;
 
    public void ptint(){
        System.out.println("name = "+this.name+";age = "+age);
    }
 
    public static void main(String[] args) {
        new Dog().ptint();
        new Dog("花花",9).ptint();
    }
}

2.构造方法和对象的初始化

构造方法怎么调用,使用哪个运算符?

当使用new 运算符实例化一个对象时,系统为对象创建内存区域并自动调用构造方法初始化成员变量。

下面是new运算符实例化一个对象。

Puppy p = new Puppy( );
Puppy p1 = new Puppy(“张三”);

3.实例——用构造方法初始化成员变量

class Triangle
{
int x,y,z;
public Triangle(int i,int j,int k)
{  
x=i;y=j;z=k;
public static bpplean judge(Triangle m)
{ 
 if(Math.sqrt(m.x*m.x+m.y*m.y)= =Math.sqrt(m.z*m.z))
    //引用Math类库的sqrt()方法
    return true;
    else
    return false;
}
public static void main(String args[]) {
Triangle t1=new Triangle(3,4,5);
if(judge(t1))   //调用judge()方法,判断t1的成员变量是
    //否能构成直角三角形的3条边长
System.out.println("这是一个直角三角形");
else
System.out.Println("这不是一个直角三角形");
}
 
}

4.构造方法的特点

5.构造方法重载 

构造方法是支持方法重载的。在一个类当中构造方法可以有多个。并且所有的构造方法名字都是一样的。

对于实例变量来说,只要你在构造方法中没有手动给它赋值,统一都会默认赋值。默认赋系统值。

方法重载特点:

6.成员变量

类中的属性,也就是直接在类中定义的变量称作成员变量,它定义在方法外面。

局部变量就是定义在方法中的变量;一般情况下,局部变量在使用前需要赋值,否则会编译出错。

成员变量和局部变量的区别:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文