8-1-2 类和对象的定义与使用

类的定义

类包括类头和类体两部分,类体内包括类的数据成员和方法成员两个部分。 数据成员用于描述类的属性,方法成员用于描述类的行为。

对象的定义和使用

类是抽象的,是一种自定义的数据类型。对象是类的一个实例或者称之为变量。 对象的定义包括两个部分:声明对象和创建对象。 通过对象名调用类的方法。

  • 1、以下叙述正确的是(a)

    A、类中的成员变量在整个类内都有效,其有效性与它在类中书写的先后位置无关。
    B、定义类时,类体中每行只能声明一个变量;
    C、类体中,成员变量的有效范围和声明的位置有关,从声明的位置开始有效;
    D、方法体内不可以对成员变量进行操作,只能对方法体中声明的变量进行操作。
  • 2、类的方法中声明的局部变量的名字可以与方法的参数同名。b

    A、正确
    B、错误
  • 3、以下说法错误的是(d)

    A、用类声明的变量被称为对象,对象(变量)负责存放引用
    B、通过对象名可以访问对象中的成员和调用类中的方法
    C、对象是类的实例,类是对具有相同的属性和行为的对象的抽象,是自定义的一种数据类型。
    D、用类声明对象后,就可以直接使用该对象调用类的方法了
  • 4、设Cat是已定义好的一个类,void setLeg(int leg)是该类中的一个方法.则以下哪个操作不会导致运行时出现NullPointerException?  cd

    A、
  • Cat cat; cat.setLeg(4);
  • B、
  • Cat cat=null;

    cat.setLeg(4);

    C、

    Cat cat;
    cat = new Cat();
    cat.setLeg(4);

    D、

    Cat cat = new Cat();
    cat.setLeg(4);

类的结构

[修饰符] class 类名{ 数据成员 方法成员 }

一般每个类作为一个文件,方便使用。

/*朋友信息类,请在下面的【】处补充代码*/

public class Friends {

       //数据成员:姓名、电话、单位、年龄、备注        

        String name;

        String tel;

        String workUnit;

        int age;

        String note;

        //方法成员                  

        //设置朋友信息

        void set(String name,String tel,String workUnit,int age,String note)

        {            

            this.name=name;

            this.tel=tel;

            this.workUnit=workUnit;

            this.age=age;

            this.note=note;

        }

        //显示信息

        void display()

        {

            System.out.printf( "name:%s tel:%s workUnit:%s age:%d note:%s\n", name,tel,workUnit,age,note);

        }  

}

复数的运算规则

设有两个复数 a+bi 、 c+di 加:(a+bi)+(c+di)=(a+c) + (b+d)i 减:(a+bi)-(c+di)=(a-c) + (b-d)i 乘:(a+bi)*(c+di)=(ac-bd)+(bc+ad)i 除:复数的商:分子分母同时乘以分母的共轭复数 (a+bi)/(c+di) =((a+ bi)(c- di))/((c+ di)(c- di)) =(ac+bd)/(c^2+d^2)+ ((bc-ad)/(c^2+d^2))i

//复数类的定义,请在下面的【】处填写代码

public class Complex {

   //数据成员: 实部、虚部,都是double类型

    double real,imag;

  //以下是方法成员

  // 设置复数

    void set(double r, double i)

    {

        real=r;

        imag=i;

    }

    void display( ) // 显示复数,格式为 a + bi

    {

        System.out.printf("%.2f + %.2fi\n", real,imag);

    }

    Complex add(Complex c2) // 两个复数相加

    {

        Complex c3=new Complex();

        c3.real=this.real+c2.real;

        c3.imag=this.imag+c2.imag;

        return c3;

   

    }

    Complex sub(Complex c2) // 两个复数相减

    {

        Complex c4=new Complex();

        c4.real=this.real-c2.real;

        c4.imag=this.imag-c2.imag;

        return c4;

   

    }

    //复数的乘积 (a+bi)*(c+di)=(ac-bd)+(bc+ad)i

    Complex mul(Complex c2)  

    {

        Complex c5=new Complex();

        c5.real=this.real*c2.real-this.imag*c2.imag;

        c5.imag=this.imag*c2.real+this.real*c2.imag;

        return c5;

    }

    /*复数的商:分子分母同时乘以分母的共轭复数

    (a+bi)/(c+di)   =((a+ bi)(c- di))/((c+ di)(c- di))

            =(ac+bd)/(c^2+d^2)+ ((bc-ad)/(c^2+d^2))i

    */

    Complex div(Complex c2)  

    {

        Complex c6=new Complex();

        c6.real=(this.real*c2.real+this.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

        c6.imag=(this.imag*c2.real-this.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

        return c6;

    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值