2 ruo qi ruo_qi 于 2017.09.04 07:31 提问

求助,java如果自己写了一个构造方法,那么类成员变量还会被自动初始化吗

在我的印象里是不会被初始化的,但是think in java却是这样写的
图片说明

2个回答

Small_Mouse0
Small_Mouse0   Rxr 2017.09.04 08:55
已采纳

“类成员变量还会被自动初始化吗”
java中给基本类型都是有初值的,,比如【int】默认值为0,(规定记住就行)
对于一些属性,例如String这种对象属性是没有初值的,,默认为null

你自己写的构造器,,它也会先给基本类型的属性赋初值。。

有问题还可以追问

withnoword
withnoword   2017.09.06 10:20

int i = 7;不会,int i;会

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java 构造函数(本例意在说明如果一个类里定义了构造函数,则系统不会再给定义默认的无参构造函数)
/**  * @author Administrator  *本例意在说明如果一个类里定义了构造函数,则系统不会再给定义默认的无参构造函数  */ public class Rock { public static void main(String[] args) { // TODO Auto-generated method stub System.err.println(ne
错误记录--Java中子类继承父类必须调用父类的构造方法?
刚睡完午觉起来,有点迷糊,然后接着练习Java中元组(tuple)的时候突然就遇到这么个问题,关于继承的问题,奇怪在睡觉之前怎么就没发现这个问题呢,传说中的“面向睡一觉编程”吗。。。Orz先贴上代码: 首先是创建一个父类文件TwoTuple.javapackage test.fifth;public class TwoTuple<A, B> { public A first; pu
Java类成员初始化
Java类成员初始化与C++初始化的方式有很多不同,这部分知识相对比较基础,从而导致很多Java程序员对于Java类初始化机制不甚了了。下面就Java类成员初始化方式做一个梳理,希望对大家有益。 一、       所有变量使用前都要得到恰当的初始化 Java尽力保证:所有变量在使用前都得到恰当的初始化。 对于类成员变量,Java按照自动初始化的方式,如果是基本成员变量就赋值0,其他赋值nul
Java变量自动初始化
在Java中有些变量使用的时候不需要人为的初始化,系统会自动给变量赋默认的值 例如: boolean 变量的初始值如果有的话,则为false。 int           变量的初始值如果有的话,则为0. 那么什么情况下,java中的变量会自动初始化呢?这里我们主要讨论以下几种情况:实例变量、类变量、函数中的局部变量 1)实例变量 实例变量都会在构造函数中进行自
Java 代码块、成员变量初始化、构造函数初始化顺序
一、对于实例变量 实例变量初始化过程分析 初始实例变量的有: ① 实例变量定义时初始化、 ② 非静态代码块初始化、 ③ 构造函数实例变量初始化 package cn.daywan.test; public class RAMTest { public RAMTest(double price) { System.out.println("②--构造函数");
创建子类对象会调用父类的初始化方法,而不只是构造函数
本文转载自:http://blog.csdn.net/fpf_721521/article/details/5518753 1、子类在创建实例后,类初始化方法会调用父类的初始化方法(除了Java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。 这个地方我说的是初始化方法,而不是构造方法,因
Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
序言   关于类的static成员变量初始化、static初始化块、实例的普通成员变量初始化、实例的普通初始化块以及构造函数的执行顺序,我一直不是十分明确地知道,今天专门花了几个小时的时间参考网上资料设计出了比较明了的测试代码,有代码有结果有真相。总体而言,static部分执行早于普通初始化块早于构造函数,如果一个类继承了某个父类,则父类的static部分最先执行。  正文   
类成员变量数组初始化方法解析
<br />某些情况下,在写C++类的时候,希望能通过一个静态初始化函数来对类的一些静态成员进行初始化。比如,往静态的std::map成员或者std::vector成员里添加一些固定的内容等。这在Java里通过static块很容易实现。但在C++里该怎么办呢?<br />  如果要初始化一个普通的静态成员,只需要在实现文件(源文件)中定义该成员并赋予初始值即可,比如:class Test1 {<br />public:<br />    static string emptyString;<br />};<
【类反射】类的调用(调用类中的成员:成员变量、方法、构造方法)
★ 构造类对象使用构造器新建对象。根据指定的参数类型找到相应的构造函数,传入相应参数调用执行,以创建一个新的对象实例。 代码演示:package cn.hncu.reflect.test;import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa
java 类成员与方法访问控制从严
如果不允许外部直接通过new来创建对象,那么构造方法必须是private . 工具类不允许有public或default构造方法 类非static成员变量并且与子类共享,必须是protected 类非static成员变量并且仅在本类使用,必须是private 类static成员变量如果仅在本类使用,必须是private 若是static成员变量,必须考虑是否为final 类成员方法只供类内部调用,