博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的构造函数
阅读量:6956 次
发布时间:2019-06-27

本文共 936 字,大约阅读时间需要 3 分钟。

  构造器:

      就是构造函数,之前使用构造函数都是为了传递一些参数给一个类,其实这很好的保证了初始化。构造函数的名字与类名相同,在实例化一个类的时候,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

转载于:https://www.cnblogs.com/969059506-java/p/3722419.html

你可能感兴趣的文章
STL 笔记(四) 迭代器 iterator
查看>>
2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】
查看>>
[LeetCode] Valid Parenthesis String 验证括号字符串
查看>>
各大SRC中的CSRF技巧
查看>>
Docker for Windows 使用入门
查看>>
【Django】Web应用开发经由
查看>>
SpringBoot(九)-- SpringBoot JDBC
查看>>
Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合
查看>>
基于Centos搭建nginx+uwsgi运行django环境
查看>>
context switch
查看>>
Oracle awr报告生成操作步骤
查看>>
【DB2】DB2使用IMPORT命令导入含有自增长列的表报错处理
查看>>
微服务之springCloud-docker-comsumer(三)
查看>>
dhcpcd守护进程分析【转】
查看>>
Linux - 理不清的权限chmod与chown区别
查看>>
TCP协议疑难杂症全景解析
查看>>
redis 1
查看>>
Python安装pycurl失败,及解决办法
查看>>
cocos2d的常用动作及效果总结之四:Special Actions
查看>>
[ lucene扩展 ] MoreLikeThis 相似检索
查看>>