zoukankan      html  css  js  c++  java
  • java中的构造函数

      构造器:

          就是构造函数,之前使用构造函数都是为了传递一些参数给一个类,其实这很好的保证了初始化。构造函数的名字与类名相同,在实例化一个类的时候,java先自动的调用它的构造方法,所以这提醒你必须传进去应该传进去的一些参数,否则会报错。这样java类中的数据的初始化和实例化捆绑在了一起,两者永不分离,提醒你必须去实例化一些数据。而且一个类继承了它的父类总是在调用他自己的构造函数的时候先调用父类的构造函数,验证代码如下:

     

    class B{
        B(){
            System.out.println("这是B的构造方法");
        }
    }
    public class Test extends B{
        Test(){
            System.out.println("这是Test的构造方法");
        }
        public static void main(String[] args) {
            Test test = new Test();
        }
    }

    运行结果是

    这是B的构造方法
    这是Test的构造方法

    所以验证了一个类继承了它的父类总是在调用他自己的构造函数的时候先调用父类的构造函数在调用自己的构造方法。

    构造函数是不可能有返回值的,而且也不可能是void,构造方法唯一可以加的修饰符就是限制访问权限的修饰符了吧。一直在想构造函数是不是静态的,在《think in java》里说 构造方法是静态的,我感觉因为他在没有对象的时候就可以调用,所以是静态的,但是静态方法中不可以使用this关键字,明显构造方法里可以使用this关键字,所以他又不应该是静态的。最后我还是决定暂时认为他不是静态的。

     ps:我猜可能作者这样说是因为构造函数和静态方法的都是在类没有实例化的时候就开辟了一块空间吧。Maybe,i really don't know是不是构造函数是独立的一块空间,不随实例化而改变。

    原文地址:http://www.cnblogs.com/969059506-java/p/3722419.html

  • 相关阅读:
    mac Redis相关配置,安装,启动,环境的配置。
    MySQL设置global变量和session变量的两种方法详解
    关于MySQL的锁以及数据脏读,重复读,幻读的笔记。
    MySQL新增数据,存在就更新,不存在就添加(转帖加实测)
    selenium 的显示等待和隐式等待的区别(记录加强版)
    MySQL字段与表的注释。转帖
    mysql格式化日期(转帖)
    通过Python用pymysql,通过sshtunnel模块ssh连接远程数据库。
    java io流
    openID 无效
  • 原文地址:https://www.cnblogs.com/969059506-java/p/3722419.html
Copyright © 2011-2022 走看看