面向对象方法的重载(overloading)和覆盖(overriding)。
在有些JAVA书籍中将overriding称为重载,overloading称为过载。
Overloading在一个类中可以定义多个同名方法,各个方法的参数表一定不同。但修饰词可能相同,返回值也可能相同。
在程序的编译过程中根据变量类型来找相应的方法。因此也有人认为 overloading是编译时的多态,以后我们还会学到运行时多态。
为什么会存在overloading技术呢?作为应对方法的细节。
利用类型的差异来影响对方法的调用。
吃()可以分为吃肉,吃菜,吃药,在一个类中可以定义多个吃方法。
构造方法也可以实现overloading。例:
public void teach(){};
public void teach(int a){};
public void teach(String a){}为三种不同的方法。
Overloading方法是从低向高转。
Byte—short—float—int—long—double。
在构造方法中,this表示本类的其他构造方法:
student(){};
student(string n){
this();//表示调用student()
}
如果调用student(int a)则为this(int a)。
特别注意:用this调用其他构造方法时,this必须为第一条语句,然后才是其他语句。
This表示当前对象。
Public void printNum(){
Int number=40;
System.out.println(this.number);
}
此时打印的是实例变量,而非局部变量,即定义在类中而非方法中的变量。
This.number表示实例变量。
谁调用this.number那么谁即为当前(this)对象的number方法。
封装:使对象的属性尽可能私有,对象的方法尽可能的公开。用private表示此成员属性为该类的私有属性。
相关文章
- MyEclipse中SVN的使用方法
- Java面向对象基础---名词概念的理解:方法的重载、构造函数、封装性
- 【PHP面向对象(OOP)编程入门教程】12.重载新的方法(parent::)
- python-面向对象-06_私有属性和私有方法
- python-面向对象-09_类属性和类方法
- python面向对象中的一些特殊__方法__
- Hadoop开启、关闭调试信息方法
- 在Python中使用glob模块查找文件路径的方法
- 6-1python语法基础-面向对象-类的定义属性和方法,类的作用域,类的封装继承多态,类的反射,单例模式
- javaScript面向对象继承方法经典实现
- Python:pmml格式文件的简介、安装、使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略
- Linux的时区修改方法
- shell批量创建数据表的一个方法
- linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法
- sql优化的几种方法