java 构造函数 clone java 构造函数 public |
您所在的位置:网站首页 › 初始化是不是格式化了就没了 › java 构造函数 clone java 构造函数 public |
1、什么是构造函数 一种特殊的方法 创建对象时用来初始化对象,每次使用new创建对象的时候,就会使用构造函数 与类具有相同的名称,但是没有返回值 java会自动为每个类提供一个默认构造函数 如果自己定义了构造函数,就不再使用默认构造函数,**如果没有显示的写出默认构造函数,则会消失
如果构造函数之间互相调用,务必写在方法第一行
2、构造函数种类 默认构造函数 public 类名(){ //空的方法体 }无参构造函数 public 类名(){ //自定义的语句 }有参构造函数 public 类名(参数类型1 参数名1,参数类型2 参数名2){ //自定义方法体 }3、构造函数的修饰符 public用的最多,用来创建对象 private私有化构造函数,不给外部创建对象,比如工具类,或者单例设计模式 default默认的话,只能在当前包里面使用new创建对象,几乎不用 4、什么是封装 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口 在java中通过关键字private,protected和public实现封装 什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性 private User(){ //私有的不让外部访问 }类封装 方法封装 5、overload(重载,过载)(超级重要) 在一个类里面,方法名字相同,而参数不同,和返回类型无关 6、override(重写,覆盖) 子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变 *返回值类型,方法名,参数类型以及个数 子类能够根据需要实现父类的方法 代码示例: /* * 一个类里面可以有多个构造函数 * * */ public class User { private int age; private String name; //构造函数,相当于这个对象的初始化 //如果构造函数之间互相调用,务必写在方法第一行 //无参函数 public User(){ //这样已经算一个构造函数 System.out.println("这默认构造函数"); } //有参函数 public User(String name,int age){ this.name=name; this.age=age; } public void setAge(int age){ this.age=age; } public int getAge() { return age; } public void setName(String name) { this.name = name; } public String getName() { return name; } //重载overload public void sleep(){ System.out.println("睡觉"); } //方法重载 public void sleep(String address){ System.out.println(address); System.out.println("睡觉"); } //重写,返回值和形参都不能改变 public void eat(){ } // public void eat(){ // // } }public class MainTest { public static void main(String[] args) { test2(); //运行test2 } public static void test1(){ // User user=new User(); // //使用new时已经使用构造函数 // user.setAge(10); // user.setName("老王"); // // System.out.println(user.getName()); User user=new User(); } //有参函数 public static void test2(){ String name="小罗"; int age=5; User user=new User(name,age); System.out.println(user.getName()); } //重载, public static void test3(){ User user = new User(); } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |