第二周周考

第二周周考

一、简答题

1.谈谈你对面向对象中类和对象的理解,并指出二者的关系?

类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。其中,特征被称为属性,行为被称为方法。

对象是由类创造出来的一个具体存在,可以直接使用,由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。

类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。类只有一个,而对象可以有很多个。类与对象是整个面向对象中最基础的组成单元。

2.说明Java方法中的参数传递机制的具体体现?

主要分为值传递和址传递

如果传递进去的是基本数据类型参数得值,那么再调用函数的地方,传入的两个数值并没有发生改变。

如果传入的是引用数据类型的地址,那么在调用函数的地方,传入的两个地址之后,这两个引用数据类型的数值发生改变。

3.构造器的作用是什么?使用中哪些注意点(>=3条)?

Java构造器的作用是在创建此对象时自动进行一些初始化操作

注意点:方法名和类名完全相同

它不含返回值,甚至连void也没有

不能被static、final、abstract、native等等修饰

4.Java中目前学习涉及到四种权限修饰符都有什么?并说明各自的权限范围

public:公开的,只要能够创建该类对象,就可以调用。

protected:包权限,在同包下可以使用。

default:包权限,在同包下可以使用。

private:私有权限,只能自己用,别人不让用。

5.==和equals()有何区别?

“==”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值

equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值

二、编程题(第一题10分,第二题20分)

1.创建Circle类,提供私有的radius属性,提供相应的get和set方法,提供求圆面积的方法

public class Circle {
    private double radius;

    public Circle() {
        this.radius = 1;
    }

    public double getRadius() {
        return radius;
    }
    public void setRadius(double radius) {
        this.radius = radius;
    }
    double findArea(){
        return radius*radius*3.14;
    }
}

2.根据以下图,写出设计代码,注意使用this与super,要保证类的封装性

图没法上传

public class Cylinder extends Circle{
    private double length;
    public Cylinder() {
        this.length = 1;
    }
    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }

    double findVolume(){
        return  super.findArea()*length;
    }
    @Override
    double findArea() {
        return (super.findArea()*2)+super.getRadius()*2*3.14*length;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值