zoukankan      html  css  js  c++  java
  • Java多态特性:重载和覆写的比較


    Java重载:

    • 同一个类中
    • 方法具有同样的名字,同样或不同的返回值,但參数不同的多个方法(參数个数或參数类型)

    public class MethoDemo{
    	public static void main(String args[]){
    		int one = add(10,20) ;		// 调用整型的加法操作
    		float two = add(10.3f,13.3f) ;	// 调用浮点数的加法操作
    		int three = add(10,20,30) ;	// 调用有三个參数的加法操作
    		System.out.println("add(int x,int y)的计算结果:" + one) ;
    		System.out.println("add(float x,float y)的计算结果:" + two) ;
    		System.out.println("add(int x,int y,int z)的计算结果:" + three) ;
    	}
    	// 定义方法,完毕两个数字的相加操作。方法返回一个int型数据
    	public static int add(int x,int y){
    		int temp = 0 ;			// 方法中的參数,是局部变量
    		temp = x + y ;			// 运行加法计算
    		return temp ;			// 返回计算结果
    	}
    	public static int add(int x,int y,int z){
    		int temp = 0 ;			// 方法中的參数,是局部变量
    		temp = x + y + z ;			// 运行加法计算
    		return temp ;			// 返回计算结果
    	}
    	// 定义方法,完毕两个数字的相加操作,方法的返回值是一个float型数据
    	public static float add(float x,float y){
    		float temp = 0 ;		// 方法中的參数,是局部变量
    		temp = x + y ;			// 运行加法操作
    		return temp ;			// 返回计算结果
    	}
    };
    输出结果:

    add(int x,int y)的计算结果:30

    add(float x,float y)的计算结果:60

    add(int x,int y,int z)的计算结果:23.6


    Java覆写:

    • 子类覆写父类的方法,在不同的类
    • 重写方法必须和被重写方法具有同样方法名称、參数列表和返回类型
    • 重写方法不能使用比被重写方法更严格的訪问权限

    class Person{		// 定义父类
    	void print(){	// 默认的訪问权限
    		System.out.println("Person --> void print()。") ;
    	}
    };
    class Student extends Person{	// 定义继承关系
    	public void print(){
    		System.out.println("Student --> void print()。") ;
    	}
    };
    public class OverrideDemo{
    	public static void main(String args[]){
    		Student s = new Student() ;
    		s.print() ;
    	}
    };
    输出结果:

    Student --> void print()。


    小结:

    java的三大特性:封装,继承,多态.而方法的重载和覆写正是多态的体现.



  • 相关阅读:
    手动制作openstack windows镜像
    kolla-ansible部署多节点OpenStack-Pike
    手动制作openstack CentOS 镜像
    VNC Viewer连接打开remote display的VMware虚拟机出现闪退
    Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
    ImportError: No module named 'requests.packages.urllib3'
    使用kolla安装的openstack mariadb为集群所有节点无法启动
    kolla-ansible部署单节点OpenStack-Pike
    墨刀--在线原型设计工具
    Pycharm配置支持vue语法
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6867092.html
Copyright © 2011-2022 走看看