JAVA构造函数

Posted 白客C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA构造函数相关的知识,希望对你有一定的参考价值。

特点:
  1.函数名与类名相同
  2.不用定义返回值类型
  3.没有具体的返回值


作用 :
  给对象进行初始化


注意:
  1.默认构造函数的特点
  2.多个构造函数就是以重载的形式存在的

如果定义类没有给构造函数,会自动生成一个构造函数
比如:person(){}

构造函数与一般函数的区别?
  构造函数:对象创建时,就会调用与之相对应的构造函数,对对象进行初始化
  一般函数:对象创建后,需要函数功能时才调用

  构造函数:对象创建时,会调用只调用一次。
  一般函数:对象创建后,可以被调用多次。

细节:
  1.构造函数初始化后,可能需要一个公共属性方法来修改属性值。
  2.构造函数可以调用类里面的方法,方法不能取调用构造函数,只能new一个对象,但没必要。
  3.构造函数不可以加修饰符。
  4.构造函数默认有return语句与super语句

定义构造函数

 1 class Cat
 2 {
 3     String name;
 4     int age;
 5     
 6     //可定义可不定义,不定义时实例化一个对象会自动定义这个构造函数
 7     public Cat()
 8     {
 9     
10     }
11 
12     //定义构造函数初始化两个成员变量
13     public Cat(String name,int age)
14     {
15         this.name = name;
16         this.age = age;
17     }
18      
19 }

 

实例

 1 public class C {
 2     public static void main(String[] args){
 3         //实例化第一个对象
 4         Cat c = new Cat();
 5         c.name = "小花";
 6         c.cat_cry();
 7 
 8         //实例化第二个对象
 9         Cat c2 = new Cat("小红","旺旺");
10         c2.cat_cry();
11     }
12 }
13 
14 class Cat
15 {
16     String name;
17     String cry;
18 
19     //可定义可不定义,不定义时实例化一个对象会自动定义这个构造函数
20     public Cat()
21     {
22         this.cry = "不会叫";
23     }
24     //定义构造函数初始化两个成员变量
25     public Cat(String name,String cry)
26     {
27         this.name = name;
28         this.cry = cry;
29     }
30 
31     public void cat_cry()
32     {
33         System.out.println("名字:" +name + "   叫声:" +cry);
34     }
35 
36 }

 

运行结果

以上是关于JAVA构造函数的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

使用java.lang.Exception的错误:测试类应该只有一个公共构造函数

防止 Proguard 删除片段的空构造函数

无法解析片段中的 ViewModelProvider 构造?

为啥要避免片段中的非默认构造函数?