zoukankan      html  css  js  c++  java
  • 方法的重载

    方法的重载是指在一个类中可以定义相同的名字,但参数不同的多个方法,调用时,会根据不同的参数选择不同的方法

    例如:

    class Point {
        private double x;
        private double y;
        Point(double x1, double y1) { 
        	x = x1; 
        	y = y1;
        }
        public double getX() { return x; }
        public double getY() { return y; }
        public void setX(double i) { x = i; }
        public void setY(double i) { y = i; }
    }
    
    class Circle {
        private Point o;
        private double radius;
        Circle(Point p, double r) {
        	o = p; 
        	radius = r;
        }
        Circle(double r) {
            o = new Point(0.0, 0.0);
            radius = r;
        }
        
        boolean contains(Point p) {
        	double x = p.getX() - o.getX();
        	double y = p.getY() - o.getY();
        	if(x*x + y*y > radius * radius) return false;
        	else return true;
        }
        
        
        public void setO(double x, double y) {
            o.setX(x); 
            o.setY(y);
        }
        public Point getO() { return o; }
        public double getRadius() { return radius;}
        public void setRadius(double r) { radius = r;}
        public double area() { 
            return 3.14 * radius * radius;
        }
    }
    
    public class TestCircle {
        public static void main(String args[]) {
            Circle c1 = new Circle(new Point(1.0,2.0), 2.0);
            Circle c2 = new Circle(5.0);
            System.out.println("c1:("+c1.getO().getX()+","
                +c1.getO().getY()+"),"+c1.getRadius());
            System.out.println("c2:("+c2.getO().getX()
                +","+c2.getO().getY()+"),"+c2.getRadius());
            System.out.println("c1 area = "+c1.area());
            System.out.println("c1 area = "+c2.area());
            c1.setO(5,6);
            c2.setRadius(9.0);
            System.out.println("c1:("+c1.getO().getX()+","
                +c1.getO().getY()+"),"+c1.getRadius());
            System.out.println("c2:("+c2.getO().getX()+","
                +c2.getO().getY()+"),"+c2.getRadius());
            System.out.println("c1 area = "+c1.area());
            System.out.println("c1 area = "+c2.area());
            
            Point p1 = new Point(5.2, 6.3);
            System.out.println(c1.contains(p1));
            System.out.println(c1.contains(new Point(10.0,9.0)));
            
        }
    }
    

      

  • 相关阅读:
    淀粉质模板 Tree
    洛谷 P2197 【模板】nim游戏 解题报告
    洛谷 P3168 [CQOI2015]任务查询系统 解题报告
    洛谷 P2485 [SDOI2011]计算器 解题报告
    洛谷 P4883 mzf的考验 解题报告
    洛谷 P4882 lty loves 96! 解题报告
    牛客 NOIp模拟1 T1 中位数 解题报告
    牛客 NOIp模拟1 T3 保护 解题报告
    洛谷 P3349 [ZJOI2016]小星星 解题报告
    洛谷 P4139 上帝与集合的正确用法 解题报告
  • 原文地址:https://www.cnblogs.com/white-the-Alan/p/10167520.html
Copyright © 2011-2022 走看看