Java作业
运行代码:
public class Test {
public static void main(String[] args){
Foo obj1=new Foo();}
class Foo {
int value;
public Foo(int initValue) {
value = initValue;
}
}
结果:编译错误。
原因:改类给出了一个自定义的构造方法,导致原有的默认构造方法无法使用,导致编译无法通过,如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。
代码修改:
public class Test {
public static void main(String[] args) {
int a=6;
Foo obj=new Foo(a);
}
}
class Foo{
int value;
public Foo(int initValue) {
value=initValue;
}
}
java字段初始化的规律有以下三种:直接输入,初始化块,构造函数。
类的构造函数:当创建一个对象时,其构造函数就会自动调用。构造方法必须与类名相同,无返回值。
如果程序员没有定义一个构造函数时,系统会自动定义一个不含参数的“默认构造函数”,在自定义构造函数后就不再产生默认的构造函数了。
对于同一个类来说,可以有很多个构造函数,也就是所谓方法重载的运用。其之间可以相互调用。
类的初始化块:指的是在类中用{}括起来的几行代码,可以直接作为类的成员。多用于类中变量的初始化。
在执行类成员的时候默认给出的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义