方法重载与类的特性

什么是方法重载

方法重载是同一个类中多态性的一种表现,如果类中出现了两个名称一样的方法,那么该类中两个相同的方法就叫做方法重载
举个例子
public void add()
{
System.out.println(“add null”);
}
public void add(int i)
{
System.out.println(“add null”);
}
//参数的类型不同
public void add(String add)
{
System.out.println(“add null”);
}
//参数的个数不同
public void add(int,String add)
{
System.out.println(“add null”);
}
方法重载与方法重写不同
重载只与参数的类型与参数的个数有关 其他的修饰符与返回值都不影响重载
比如
public void add()
{
System.out.println(“add null”);
}
Private static void add(String add)
{
System.out.println(“add null”);
}
这个也是方法的重载 他们对于重载来说 不同之处 只有参数的个数不同
看下面例子
public static void add(String a)
{
System.out.println(“String null”);
}
public static void add(StringBuffer add)
{
System.out.println(“StringBuffer null”);
}
public static void add(StringBuilder add)
{
System.out.println(“StringBuilder null”);
}
public static void main(String[] args) {
add(“ssss”);
}

输出结果为: String null
为什么了 因为 “ssss” 本省就是一个String类型 不信 测试一下
System.out.println(“sss”.getClass().getSimpleName());
输出结果 String

Java面向对象设计主要有三大特征:封装性、继承性和多态性

**

一 封装性

1.1 概念:它是将类的一些敏感信息隐藏在类的类部,不让外界直接访问到,但是可以通过getter/setter方法间接访问。

1.2 目的:我们可以并且有可能在方法中,添加自己的限制,保证数据的有效性;从某种程度上说,封装也提高了代码的健壮性、安全性。

1.3 实现步骤:所有的成员变量全部私有化,格式 :private 数据类型 变量名 ,提供访问成员变量的getter/setter方法。

二 继承性

2.1 概念:子类通过一种方式来接受父类所有的公有的,受保护的成员变量和成员方法。

2.2 目的:增强了代码的复用性,提高了代码的质量。

2.3 实现步骤:使用extends关键词,标识子类继承父类 ,格式:public class 子类名 extends 父类名

2.4 注意事项: ⑴子类可以在继承父类方法的基础上,重写父类的方法,在具体执行是执行子类的方法;

⑵子类可以定义自己的属性,方法,这是代码扩展性的一种体现;

⑶Java中所有的类,如果没有显示的定义继承自谁,默认都是从Object继承而来的;

⑷(特别注意)Java中,每个类都只能继承一个类————Java的单继承机制。

三 多态性

3.1 概念:程序在运行的过程中,同一种类型在不同的条件下表现不同的结果,这种不定状态的表现形式,可以称为多态。

3.2 分类:ⅰ.设计时多态:方法重载实现的多态

⑴方法重载—————定义的所有方法都是声明在【同一个类】中的;

⑵方法重载的实现————相同的方法名称(不同的参数){},例如:public void person(){ . . . }

          和public void person(String name){ ........}

ⅱ .运行时多态:方法【重写】实现的多态

⑴方法重写/覆盖————定义的方法肯定是在子类中覆盖父类的方法,方法出现在两个类中。

⑵方法重写的实现————子类继承父类,然后在子类中重新定衣服类方法的实现。

例如:父类 public class Pet{}

子类 public class Cat{} 子类继承父类 Cat extends Pet

Pet cat = new Cat(); 父类的引用指向子类的对象,表示运行时多态。

一、什么是构造函数

java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。
作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。
在现实生活中,很多事物一出现,就天生具有某些属性和行为。比如人一出生,就有年龄、身高、体重、就会哭;汽车一出产,就有颜色、有外观、可以运行等。这些,我们就可以将这些天然的属性和行为定义在构造函数中,当new实例化对象时,也就具有这些属性和方法了,没必要再去重新定义了,从而加快了编程效率。
构造函数是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。

而一般函数是对象调用才执行,用".方法名“的方式,给对象添加功能。
一个对象建立,构造函数只运行一次。
而一般函数可以被该对象调用多次。

二、构造函数的特

1、函数名与类名相同
2、不用定义返回值类型。(不同于void类型返回值,void是没有具体返回值类型;构造函数是连类型都没有)
3、不可以写return语句。(返回值类型都没有,也就不需要return语句了)

注:一般函数不能调用构造函数,只有构造函数才能调用构造函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值