Java的重载与封装

开发工具与关键技术: MyEclipse 10、Java语法
作者:邓婵
撰写时间:2019年 5月 3日

一般函数与构造函数的区别:
构造函数:对象创建时就会调用与之对应的构造函数,对对象进行初始化。
一般函数:对象创建后需要函数功能时才调用。
一个类里面可以有多个构造函数,是可以给不同的对象进行不同的初始化。多个构造函数在同一个类中出现,它们的存在形式只有一种就是重载。
重载分为构造器的重载和方法的重载两种。
一、 构造器的重载
构造函数的定义:在描述事物时该事物存在就具备的一些内容,这些内容都定义在构造函数中。
构造器的重载就是构造器的名称相同,形参列表不同。所谓形参列表不同就是形参的类型不同或者形参个数不同
例子:

public class Person {
	String name;
	int age;
public Person(){
	System.out.println("无参构造方法");
	this.age=20;
	this.name="小明";
	}
public Person(int age){
	this.age=age;
	this.name="小明";
	System.out.println("有参构造方法1");
}
}

二、 方法的重载
方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同 而类型和次序不同,则称为方法的重载。

重载规则:
1.被重载的方法必须形参列表不一样(参数个数或类型不一样)
2.被重载的方法可以改变返回类型
3.被重载的方法可以改变访问修饰符
4.被重载的方法可以声明新的或更广的检查异常
5.方法能够在同一个类中或者在一个子类中被重载
6.返回值类型不能作为重载函数的区分标准

例子:

public void say(String text){
	System.out.println(this.age +"岁的"+this.name+"说:\""+text+"\"");
}

这里与上面的第一个方法返回值类型为空(void)与String,体现返回值类型不能作为重载函数的区分标准。

public String say(String text) {
	return this.age +"岁的"+this.name+state+"的说:\""+text+"\"";
}

这个方法与上面第一个方法不构成重载,因为它们所属的调用者不同,因为这个方法中有static修饰,调用者为类,而前面第一个方法中的调用者为对象。

public static void Say(String text){
	System.out.println(text);
}

这个例子说明被重载的方法可以改变访问修饰符public private protected,修饰符也可不用

String say(String text,String state,String location){
	return this.age +"岁的"+this.name+"在"+location+""+state+"的说:\""+text+"\"";
}

Java封装
封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。要访问该类的代码和数据,必须通过严格的接口控制。
封装的优点 1.良好的封装能够减少耦合2.类内部的结构可以自由修改3.可以对成员变量进行更精确的控制4.隐藏信息,实现细节。

例子:
首先要声明私有的变量,然后对每个值属性提供对外的公共方法访问,也就是创建getter\setter方法。这样的好处可以防止该类的代码和数据被外部类定义的代码随机访问,加强了代码的安全性。相关代码如下所示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值