java 构造函数 clone java 构造函数 public

您所在的位置:网站首页 初始化是不是格式化了就没了 java 构造函数 clone java 构造函数 public

java 构造函数 clone java 构造函数 public

2023-05-30 05:25| 来源: 网络整理| 查看: 265

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