牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数
不多说,直接上干货!
通过
牛客网Java刷题知识点之构造函数是什么、一般函数和构造函数什么区别呢、构造函数的重载、构造函数的内存图解
我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会调用构造函数。那么我们在定义和调用构造函数时,需要注意哪些细节呢?
牛客网Java刷题知识点之构造函数与set方法、与类名同名的一般方法、构造函数中有return语句
需要注意的细节:构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数
class Person {
private String name;
private int age;
//构造函数,初始化name
Person(String n) {
setName(n);
System.out.println(name+":"+age);
}
//一般函数,设置name
public void setName(String n) {
name = n;
}
}
编译通过,我们来测试一下
class PersonTest {
public static void main(String[] args) {
Person p = new Person("小强");
}
}
很显然构造函数中调用一般函数是可以的。
但是,当我们在set方法中调用构造函数:
class Person {
private String name;
private int age;
//构造函数,初始化name
Person(String n) {
name = n;
System.out.println(name+":"+age);
}
//一般函数,设置name
public void setName(String n) {
Person(n);
name = n;
}
}
结果,是
我们看到编译直接通不过,所以说一般函数中是不能直接调用构造函数的。
作者:大数据和人工智能躺过的坑
出处:http://www.cnblogs.com/zlslch/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!