牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数
2017-09-20 13:15
453 查看
不多说,直接上干货!
通过
编译通过,我们来测试一下
很显然构造函数中调用一般函数是可以的。
但是,当我们在set方法中调用构造函数:
结果,是
我们看到编译直接通不过,所以说一般函数中是不能直接调用构造函数的。
通过
牛客网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; } }
结果,是
我们看到编译直接通不过,所以说一般函数中是不能直接调用构造函数的。
相关文章推荐
- 牛客网Java刷题知识点之构造函数与set方法、与类名同名的一般方法、构造函数中有return语句
- C++中构造函数能调用虚函数吗?(答案是语法可以,输出错误),但Java里居然可以
- CCScheduler(调度器 两种回调1、update回调(通过object的update函数实现所以每次调用) 2、一般回调(通过timer timer是可以设置fSeconds的可变调用间隔))
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- java构造代码块,构造函数和普通函数的区别和调用时间
- 构造函数跟析构函数里面都可以调用虚函数
- MFC 添加C++类,别的类不通过C++类的定义的对象就可以直接调用C++类里面的成员函数;
- Java 日期工具类 (可以直接调用)
- C#控制台基础 事件可以在本类中当做委托来调用,但是在其他类不可以直接调用
- cocos2d-js 安卓环境,如何用js代码直接调用java函数
- 在任何一个java工程下(即便是j2ee工程)都可以直接对某一个java文件run as Java Application,但是为什么有的java文件右击,没有“Java Application”
- Java与C++在构造函数中调用虚函数时的区别
- java工具类1---一般是通过静态函数实现某个功能,而不需要涉及类的任何属性和变量,直接类名调用
- 数据结构中的栈,在解决很多问题都有用处,比如括号匹配,迷宫求解,表达式求值等等 java中有封装好的类,可以直接调用。
- 利用Java反射机制,调用一个类的构造函数和一般函数
- java的接口不能实例化,但是有些函数可以这样写
- javap 可以打印出用于jni调用的java函数的签名信息
- Java和C++构造函数中调用虚函数的区别
- java类的构造方法可以直接调用该类中已有的方法。