关于继承和多态的小程序

今天下午参加了公司的一个小型技术测试,主要内容都是一些java的基础知识,选择题,判断题,几道编程填空题。不知道怎么衡量这套题的难度,因为我觉得这些题更偏概念性,考的东西感觉都学过,但是答案都叫不准,只能说自己基础还是比较差。今天上午看了一些javaSE的东西,看的最多的就是多态封装那块。也顺便看了下String类和Object类。
列出一些String中的常用方法。

这里写图片描述

这里写图片描述

从网上看到的一个关于继承和多态的小程序。

设计一个形状类Shape,方法:求周长和面积

形状类的子类:Rect(矩形),Circle(圆形)
Rect类的子类:Square(正方形)
不同的子类会有不同的计算周长和面积的方法
创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积

Test类

public class Test{
    public static void main(String[] args){
        Shape[] s=new Shape[3];

        s[0]=new Rect(6,3);
        s[1]=new Square(6);
        s[2]=new Circle(5);

        for(int i=0;i<s.length;i++){
            System.out.println("周长:"+s[i].zhouChang()); 
            System.out.println("面积:"+s[i].mianJi());
        }

    }
}

设计一个Shape类,并生成两个方法

public class Shape{
    double zhouChang(){
        return 0.0;
    }
    double mianJi(){
        return 0.0;
    }
}

矩形类继承Shape类

public class Rect extends Shape{
    private double chang;
    private double kuan;

    public Rect(){

    }

    public Rect(double chang,double kuan){
        this.chang=chang;
        this.kuan=kuan; 
    }
    public double zhouChang(){
        return (chang+kuan)*2;
    }
    public double mianJi(){
        return chang*kuan;
    }
}

圆形类继承Shape类

public class Circle extends Shape{
    private double r;

    public Circle(){

    }

    public Circle(double r){
        this.r=r;
    }

    public double zhouChang(){
        return 2*3.1415926*r;
    }

    public double mianJi(){
        return 3.1415926*r*r;
    }
}

正方形类继承Rect类

public class Square extends Rect{
    private double bianChang;

    public Square(){

    }

    public Square(double bianChang){
        super();
        this.bianChang=bianChang;
    }

    public double zhouChang(){
        return bianChang*4;
    }

    public double mianJi(){
        return bianChang*bianChang;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值