您的位置:首页 > 编程语言 > Java开发

java的重写、重载以及继承、多态和封装

2016-07-18 19:55 706 查看

1.重载

要了解函数的重载首先我们得有一个函数,所以我随便的写了一个求最大值的函数

/*首先我们先随便定义一个函数:就比如这个求两个数最大值的。
*/
public static void max(int a,int b)
{
int max=a>b?a:b;//三元运算符
System.out.println(max);
}

之后我们来看看哪些是属于重载的函数
public static int max(int a,int b)//不属于重载,这个函数功能,传入的参数与原函数都一样,会造成引用的不明确
{
int max=a>b?a:b;//三元运算符
System.out.println(max);
return max;
}
public static void max(byte a,int b)//属于重载,重载要求必须传入的参数个数或者类型不同,这个函数属于传入类型不同
{
int max=a>b?a:b;//三元运算符
System.out.println(max);
}
public static int max(int a,int b,int c)//属于重载,属于传入参数个数不同,返回值类型可以不同
{
int temp_max=a>b?a:b;//三元运算符
int max=temp_max>c?temp_max:c;
System.out.println(max);
return max;
}
public static void max(int i,int j)//不属于重载,虽然参数名改了,但是其本质与原函数相同
{
int max=i>j?i:j;//三元运算符
System.out.println(max);
}


2.重写

重写必定会出现在继承时,所以我先随便创建一个父类函数

/*首先我们先随便定义一个父类函数:就比如这个人的属性函数。
*/
public  class Person{
int age;
String name;
public Person(int age,String name){//构造函数,用来传入参数
this.age=age;
this.name=anme;
public void address(){
System.out.println("chengdu");
}
public void work(){
System.out.println("engineer")}
}
}

public class Worker extends Person//继承
{
public void address(){//将已有的函数方法再次定义,实现另一个功能。这就是重写
System.out.println("beijing");}
}


3.继承

集成的关键字就是extends当继承发生时必定会存在这个单词。下面我们看看继承是怎么回事
public class Worker extends Person//继承
{
public void address(){//将已有的函数方法再次定义,实现另一个功能。这就是重写
System.out.println("beijing");}

public void email(){//创建了一个新的方法
System.out .println("11111111@qq.com");}
}

继承就是在父类的基础上,我们根据自身的需求修改一些已有的方法,或者是添加一些我们需要的方法。就像安卓开发中继承了baseadapter后,都要重写getId()、getItem()、getView()一样

4.多态

Person person=new Worker();//这就是多态

多态在安卓开发中也很常见,就比如List<String> list=new ArrayList<String>();

5.封装

private  class Person{
int age;
String name;
public int getAge(){//实现get、set方法
return age;}
public void SetName(String name){
this.name=name}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: