详谈java的构造方法和权限
来源:互联网 发布:淘宝店铺怎样提高销量 编辑:程序博客网 时间:2024/06/05 20:15
1,java的构造方法
1)什么是构造方法?
名字和类名完全一样,没有返回值(可理解为返回一个对象),
用new来调,调用的结果是在堆内存中创建一个对象空间且返回它的堆内存首地址
public class MyDate_1 { private int year; private int month; private int day; //空参构造 public MyDate_1(){ } //带参构造 public MyDate_1(int year, int month, int day) { super(); this.year = year; this.month = month; this.day = day; } //拷贝构造 public MyDate_1(MyDate_1 my){ this.year = my.year; this.month = my.month; this.day = my.day; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public int getMonth() { return month; } public void setMonth(int month) { this.month = month; } public int getDay() { return day; } public void setDay(int day) { this.day = day; } @Override public String toString() { return "MyDate_1 [year=" + year + ", month=" + month + ", day=" + day + "]"; }}
public class TestMyDate_1 { public static void main(String[] args) { //调用空参构造 MyDate_1 my1 = new MyDate_1(); System.out.println(my1); //调用带参构造 MyDate_1 my2 = new MyDate_1(2017,10,1); System.out.println(my2); //调用拷贝构造 MyDate_1 my3 = new MyDate_1(my2); System.out.println(my3); /** * 打印结果: * MyDate_1 [year=0, month=0, day=0] * MyDate_1 [year=2017, month=10, day=1] * MyDate_1 [year=2017, month=10, day=1] */ }}
2)构造方法的特点
如果我们没有手动写构造方法,则Java会自动帮我们添加一个默认构造方法(空参的构造方法)。如果我们手动写了构造方法,则Java不会帮我们添加默认构造方法(空参的构造方法),如果我们需要就手动再添加
3)在构造方法中调用构造方法
这个需要使用this()
public MyDate(MyDate d) { //在构造方法中调用构造方法, //用this(...), 且该方法只能在构造方法中调用, //功能是给内存中的数据赋值 this(d.year,d.month,d.year); }
2,java中的权限问题
权限从低到高(4种):
1)private: 只有当前类能够访问
2)缺省(默认): 只有当前包中的所有类(包含当前类)能访问
3)protected: 当前包中的类能够访问,其它包中若是子类也能访问。其它包中不是当前类的子类则不能访问。
4)public: 任意类(无论是否是相同的包或子类关系)都能访问
阅读全文
0 0
- 详谈java的构造方法和权限
- JAVA的构造器和构造方法
- JAVA的构造器和构造方法
- 详谈java类和对象的生命周期
- 构造方法的”和用private修饰的权限
- Java方法和构造方法的区别
- [java]构造方法被修饰权限
- java的构造方法和匿名对象
- Java 构造器和方法的区别
- Java构造器和方法的区别
- java的构造方法和变量总结
- Java构造器和方法的区别
- Java构造器和方法的区别
- Java构造器和方法的区别
- Java构造器和方法的区别
- Java构造器和方法的区别
- Java构造器和方法的区别
- Java构造器和方法的区别
- [Haskell] CodeWars|Your order, please
- 栈_对表达式求值
- STM32的启动模式讲解
- Eclipse中logcat的使用
- XML入门
- 详谈java的构造方法和权限
- Spring的事务机制
- 在 CMD下使用java运行类出现“找不到或无法加载主类”
- 回文三位数
- 51nod 1453 抽彩球(组合数)
- 实验三:内部模块化的命令行菜单小程序V2.0
- 有趣的现象,改天详细钻下
- 51单片机之外设——点亮LED
- Java-final,finally和finalize