美文网首页
构造方法、静态初始化块

构造方法、静态初始化块

作者: Yanl__ | 来源:发表于2019-11-18 00:20 被阅读0次

构造方法

构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。

  1. 通过new关键字调用!!
  2. 构造器虽然有返回值(返回创建对象的地址),但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
  3. 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!
class Point {
    public Point() {

    }

}
public class TestConstructor {
    public static void main(String[] args) {
//        Point p = new Point();
//把自己定义的构造器注释掉,相当于我们没有定义构造器,编译器会自动定义一个无参的构造器
    }
}
  1. 构造器的方法名必须和类名一致!
class Point {
    double x, y;
    //构造方法名称必须和类名保持一致
    public Point(double _x, double _y) {
        x = _x;
        y = _y;  
    }
    public double getDistance(Point p) {
        return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
    }
}
public class TestConstructor {
    public static void main(String[] args) {
        Point p = new Point(3.0, 4.0);
        Point origin = new Point(0.0, 0.0);
        System.out.println(p.getDistance(origin));
    }
}

静态初始化块

构造方法用于对象的初始化!静态初始化块,用于类的初始化操作!在静态初始化块中不能直接访问非static成员。

静态初始化块执行顺序:

  1. 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。
  2. 构造方法执行顺序和上面顺序一样!!
public class User3 {
    int id;        //id
    String name;   //账户名
    String pwd;   //密码
    static String company = "北京尚学堂"; //公司名称
    static {
        System.out.println("执行类的初始化工作");

        printCompany();
    }  
    public static void printCompany(){
        System.out.println(company);
    }  
    public static void main(String[] args) {
        User3  u3 = new User3();
    }
}

相关文章

  • 设计模式——工厂,策略,建造者

    Java 类初始化顺序基本分为以下几种:静态块,初始化块,静态方法,构造函数块,静态变量,成员变量对于块顺序,静态...

  • 4.7-全栈Java笔记:静态初始模块与参数传值机制

    静态初始化块 构造方法用于对象的初始化! 静态初始化块,用于类的初始化操作!在静态初始化块中不能访问非static...

  • 类初始化顺序

    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始...

  • Java代码块的执行顺序

    执行顺序首先执行静态代码块接着执行构造代码块最后指向构造方法 静态代码块 >>> 构造代码块 >>>> 构造方法 ...

  • Java类加载的执行顺序

    一. 类初始化 首先定义测试类Test.java,定义静态变量、代码块、静态代码块、构造函数和静态方法 : 然后调...

  • JAVA类初始化顺序总结

    类的初始化 初始化顺序 首先来看下,当一个类从main入口方法,对于静态变量、静态初始化块、变量、初始化块、构造器...

  • 静态代码块,构造代码块,构造函数执行执行顺序详解

    Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序 阅读目录 构造函数 构造代码块 静态代...

  • Java程序执行顺序

    执行顺序大致分类: 静态属性,静态方法声明,静态块。 动态属性,普通方法声明,构造块。 构造方法。 详细介绍: 类...

  • 零碎知识点

    new对象时初始化顺序:父类静态代码块->子类静态代码块->普通属性->父类构造代码块->父类构造函数->子类构造...

  • Java对象初始化

    对象初始化流程: 加载字节码(只加载一次)->初始化字段->父类构造方法->自身构造方法。 静态数据的初始化 静态...

网友评论

      本文标题:构造方法、静态初始化块

      本文链接:https://www.haomeiwen.com/subject/eevmictx.html