您的位置:首页 > 其它

面向对象的三大特征:继承,封装,多态

2017-07-24 20:30 579 查看
1. 方法重载和方法重写(覆盖)的区别。

方法重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺

序,个数)

方法重写:在子父类之间,子类的方法名,返回值和参数列表同父类一样

,但是方法体却不同

2. java.lang.Object类的六个常用方法的声明并说明其作用。

java.lang.ObjectObject类的6个常用方法:

  · clone()

  · equals()

  ·getclass()

  · finalize()

  ·hashCode()

  · toString()

作用:

Object类是所有类的父类,即直接或间接的继承java.lang.Object类

Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都

会先调用这个默认构造方法。

3. 继承条件下子类构造方法的执行过程

继承:子类是父类的扩展。

子类 extends 父类

4. super关键字的作用和使用

先执行父类的构造方法,后执行子类的构造方法。

父类的静态代码块—>子类的静态代码块—>主方法(执行哪个程序就执行

哪个程序的主方法)—>父类的非静态代码块—>父类的无参构造函数—>子

类的非静态代码块—>子类的无参构造函数(若实际子类执行的是有参构造

函数,则不执行无参构造函数)

5. ==和equals()的联系和区别

==可以用来进行基础数据类型值的比较。

引用数据类型==比较的是内存地址是否相等。

equals用来比较两个对象的内容是否相等。

一、 编码题

1. 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。(7分)

提示:(1)编写一个圆类Circle,该类拥有:

1) 一个成员变量,radius(私有,浮点型);//存放圆的半径;

2) 两个构造方法

Circle()              //将半径设为0

Circle(double  r
)    //创建Circle对象时将半径初始化为r

3) 三个成员方法

double getArea()      //获取圆的面积

double getPerimeter()  //获取圆的周长

void show()           //将圆的关径、周长、面积输出到屏幕

(2) 编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:

1) 一个成员变量,double hight  (私有,浮点型);  //圆柱体的高;

2) 构造方法

//创建Cylinder对象时将半径初始化为r,高度初始化为h

Cylinder(double r,double h)     

3) 成员方法

double getVolume()            //获取圆柱体的体积

void showVolume()             //将圆柱体的体积输出到屏幕

package com.sxt;

public class Circle {

    private double radius;

    public Circle() {

     this.radius=0;

    }

    public Circle(double r) {

        this.radius=r;

    }

    public double getArea(){

        return Math.PI*this.radius*this.radius;

    }

    public double getPerimeter(){

        return Math.PI*this.radius*2;    

    }

    public void show(){

        System.out.println("圆的半径:"+this.radius);

        System.out.println("圆的面积:"+this.getArea());

        System.out.println("圆的周长:"+this.getPerimeter());

    }

}

package com.sxt;

public class Cylinder extends Circle{

    private double hight;

    public Cylinder(double r,double h) {

        super(r);

        this.hight=h;

    }

    public double getVolume(){

        double area=super.getArea();

        return area*hight;

    }

    public void showVolumn(){

        super.show();

        System.out.println("圆的体积:"+this.getVolume());

    }

    public static void main(String[] args) {

        Cylinder c=new Cylinder(10,10);

        c.showVolumn();

    }

}
输出结果:



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: