`
edr_
  • 浏览: 169837 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java构造方法

    博客分类:
  • J2SE
阅读更多
构造方法的定义与作用
        在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门方法:构造方法构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:
  • 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,连void也不行。
  • 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用其实就是对象的初始化。
  •         Person p = new Person();
  • 3.每个类可以有零个或多个构造方法.--也叫重载(与重写不同);
  • 4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
  •        注意:但是子类的构造过程中必须调用父类的构造方法。
  • 5.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应,从而完成构造函数的调用。
构造方法与一般方法的区别
  (1)构造方法一定有返回值,一般方法不一定有返回值
  (2)构造方法不用声明返回值类型,但是一般方法必须声明返回值类型
      public studnet(){}、 public void student(){}
  (3)一旦重载构造方法后,默认的构造方法自动被覆盖,失效,如果还想使用,就必须 声明显式。

方法的重载
  方法的重载是指构造方法名相同,但参数类型和参数个数不同的方法。
class Student {
    private int age;
    SuperClass() {
        System.out.println("Student()");
    }
    SuperClass(int n) {
        System.out.println("已初始化年龄Student(" + age + ")");
        this.age=age;
    }
}

继承中的构造方法--几点要求:
  • 子类的构造过程中必须调用父类的构造方法-可以使用super(参数)调用父类构造方法,而且必须位于构造行数第一行;
  • 如果子类的构造方法中没有显示的调用积累的构造方法,则系统默认调用父类无参数的构造方法;
  • 如果子类构造方法中没有显示调用父类的构造方法,而父类也没有无参的构造方法,则编译报错。(前提是父类已经定义构造方法)

class SuperClass {
    private int n;
    /*
    SuperClass() {
        System.out.println("SuperClass()");
    }
    */
//删除无参构造方法-但是已经有了下面一个有参的构造方法,所以系统不会默认增加一个无参构造方法
    SuperClass(int n) {
        System.out.println("SuperClass(" + n + ")");
        this.n = n;
    }
}
class SubClass extends SuperClass {
    private int n;
    SubClass() {
    	//super();//不显示调用父类的构造方法-编译将出错
        System.out.println("SubClass()");
    }
}
public class TestSuperSub {
    public static void main(String arg[]) {
        SubClass sc1 = new SubClass();
}







分享到:
评论

相关推荐

    java 构造方法的资源

    了解和熟练使用构造方法是Java面向对象编程的基础,下面将详细阐述Java构造方法的相关知识点。 一、构造方法的作用 构造方法的主要任务是在创建对象时设置对象的初始状态,为对象成员变量赋值。当一个类被实例化时...

    NDK开发之C语言调用Java构造方法、父类方法、返回中文字符串乱码问题案例

    这里,`<init>`是Java构造方法的特殊标识符,`()`V表示无参数的void构造方法。 对于父类方法,你需要先获取父类的`jclass`,然后按照同样的方式寻找并调用方法。例如,如果`YourJavaClass`继承自`ParentClass`,...

    Java 构造方法

    Java 构造方法是编程语言中的一个重要概念,特别是在面向对象编程中,如Java。它们是类的特殊方法,用于初始化新创建的对象。当一个对象被创建时,构造方法会被自动调用,为对象的成员变量赋值,进行必要的设置,...

    79.java构造方法.zip

    79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java...

    java构造方法

    ### Java构造方法详解 #### 一、构造方法基础概念 构造方法是Java中一种特殊的方法,主要用于初始化新创建的对象。每个类至少有一个构造方法。如果程序员没有显式地定义构造方法,Java编译器会自动为类添加一个无...

    构造方法JAVA构造方法

    Java构造方法是面向对象编程中的一个关键概念,用于初始化新创建的对象。在Java类中,构造方法是一个特殊的方法,它的名字必须与类名完全相同,没有返回类型,甚至不包括void关键字。当我们创建一个类的新实例时,...

    java 构造方法PPT

    关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT ...

    java构造方法学习案例

    java构造方法的学习对java学习者尤为重要

    Java构造方法.pdf

    Java构造方法 Java构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和...

    Java构造方法解析.zip

    Java构造方法解析 在Java编程语言中,构造方法是一个特殊的方法,它的主要任务是初始化一个新创建的对象。构造方法与类名相同,并且没有返回类型,即使是void也不行。了解和熟练使用构造方法是Java程序员的基本技能...

    Java构造方法解析.pdf

    下面详细解析Java构造方法的特性和使用方法。 构造方法的特性: 1. 方法名与类名相同:构造方法的名字必须与类名完全相同,这是Java语法规定的一部分,便于编译器识别并自动调用构造方法。 2. 构造方法无返回类型:...

    Android Java代码与JNI交互 JNI访问Java构造方法(九).zip

    在JNI中访问Java构造方法,有助于我们创建和初始化Java对象,这对于处理一些特定场景如资源管理、对象实例化等特别有用。 首先,我们需要在Java类中声明native方法,并为其提供一个对应的C/C++函数签名。例如,如果...

    java中带有不同构造方法的程序内存分析

    本文件主要探讨了Java中带有不同构造方法的程序如何影响内存分析,这包括无参构造方法、带参数的构造方法以及它们在内存分配中的应用。 首先,让我们了解一下构造方法。构造方法是一种特殊的方法,它的名字与类名...

    java构造方法的作用总结

    Java构造方法的作用总结 Java构造方法是Java语言中的一种特殊方法,它用于初始化新建的对象。构造方法的主要作用是对类进行初始化,它们的方法名必须与类名相同,并且不可以声明返回类型。下面是关于Java构造方法的...

    简单了解JAVA构造方法

    JAVA构造方法详解 JAVA构造方法是一个特殊的方法,它用于初始化类的对象。构造方法的作用是对类进行初始化,如果你没有定义任何构造方法的形式,编译器会为你提供一个不带任何参数的构造函数,那么你产生类的对象时...

    Java构造方法和访问权限_源代码.zip

    是我的博客配套的源代码,讲解Java的构造方法,和四种访问权限,也可以在博客评论区找我要,博客地址:https://blog.csdn.net/qq_41464123/article/details/107461710

    Java构造方法实例详解(动力节点java学院整理)

    Java构造方法是面向对象编程中一个至关重要的概念,它用于在创建对象时初始化对象的状态,即设置对象成员变量的初始值。构造方法的名称必须与类名完全相同,且不返回任何值,包括void关键字。Java中的构造方法是类的...

    83.java中String构造方法.zip

    83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中...

Global site tag (gtag.js) - Google Analytics