在java中,初始化和创建时捆绑在一起的,两者不可分离,而初始化就是通过构造器来实现的。
简介一下构造器的格式:名称必须和类名完全相同,所以“java每个方法的首字母小写”的编程风格并不适合用于构造器。
构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。
下面主要说一下默认构造器:
直接那段代码来看:
package chapterFour;
class Bird{
Bird(int i){}
Bird(double j){}
}
/**
* @author 梁丞胤
* 构造器
*/
public class Contructor {
/**
* 要是没有写构造器时,创建对象时编译器会认为“你没有构造器,那我就给你创建一个”
* Bird类已有了编写的构造器,在创建对象的时候如果是调用Bird()构造器,
* 编译器就会报错:没有找到匹配的构造器
* 这个因为你一旦写了一个构造器,编译器就会认为“你已写了构造器,所以你知道你在做什么
* ,你是刻意要忽略默认的bird()构造器的”,于是你在调用默认构造器创建对象的时候
* 编译器就会报错
*/
public static void main(String[] args) {
//所以在已写构造器的情况下,创建一个跟已有构造器参数不对应的对象时是会报错的
//Bird b1=new Bird();
Bird b2=new Bird(1);
Bird b3=new Bird(1.0);
}
}
所以在有自己编写构造器的类上面,如果要保留根据默认构造器创建对象的方式就必须要自己手动编写默认构造器。
2. 使用this在构造器中调用构造器
/**
* @author 梁丞胤
*
* 2012-3-28
*/
public class Constructor2 {
Constructor2(int i){
System.out.println("~~~参数是~~~"+i);
}
/**
* 构造器可以调用自己的构造器,在多构造器的情况下,可以起到避免代码重复的作用
* 其他的方法则不可以使用构造器
*/
Constructor2(String a,int j){
this(j);
System.out.print("~~~构造器调用构造器~~~"+a);
}
public static void main(String[] args) {
Constructor2 cc=new Constructor2("hehe",6);
}
}
分享到:
相关推荐
JAVA构造器
java构造方法是java类中最重要的一个概念,这篇文档涵盖了,java对象初始化过程中构造器调用的顺序,及作用。
java 构造器初始化成员变量 是否提供默认构造器 继承中构造器的调用
基于Java构造器和Static关键字的研究.pdf
Java入门理解构造器
JAVA初步入门,构造器与方法区别,java入门概念梳理,讲解构造器作用及方法作用。
要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。 原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一...
主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下
主要介绍了Java 构造器原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java私有构造器的含义、关键字,同时通过实例向大家展示其使用方法,需要的朋友可以参考下
在本篇文章里小编给大家分享的是关于java中构造器内部调用构造器实例内容,需要的朋友们可以学习下。
要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物。(按:...
listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...
最小的实用的json格式类 ,用于在java后台将list 、vo、bean等等封装为json格式
Java 构造方法的一些介绍,仅供参考学习。
Java:String构造器中originalValue.length>size的理解
Java 课后习题答案,具有基本的代码,对课后习题进行详细的解答
类的构造器 当创建类对象的时候,会自动调用类的构造器。之前使用的都是默认构造器,我们接... // Java构造器 public Person(String name, Integer age) { // 初始化成员变量 this.name = name; this.age = age;
主要介绍了Java中构造器内部的多态方法的行为,结合实例形式分析了java构造器内部多态方法相关原理、功能及操作技巧,需要的朋友可以参考下
MyBatisPlus条件构造器 -Wrapper详解(为知笔记版,可用网页打开),详解wrapper条件构造器的各种使用方法及其扩展类的使用方法。