Java--面向对象

目录

一、了解面向对象,简单用Student类写一个例子,并测试运行

二、面向对象的知识点

三、练习

1.请定义一个交通工具(Vehicle)的类,

属性:速度(speed),体积(size)

方法:移动(move()),加速speedUp(int speed),减速speedDown(int speed)等等。

最后在测试类Demo 中的main()中实例化一个交通对象,并通过构造方法给他初始化speed、size的值,并通过get方法打印出来。另外,调用加速、减速的方法对速度进行改变(改变speed的值),改变后的速度值在main()方法中打印出来。

 2.编写Java程序,模拟简单的计算器。

定义名为Number的类,其中有两个整数型成员num1、num2,应声明为私有。

编写构造方法,赋予num1和num2初始值,再为该类定义加(add)、减(sub)、乘(multi)、除(div)等公共成员方法,分别对两个成员变量执行加减乘除的运算。


一、了解面向对象,简单用Student类写一个例子,并测试运行

//Student.java
package HomeWork;

public class Student {
    private int id;
    private String name;
    private int age;

    //无参构造方法 右键 Generate--Construct--不选--Select None
    public Student() {
        System.out.println("调用无参构造方法");
    }

    //有参构造方法 右键 Generate--Construct--Ctrl+A 全选中--OK
    public Student(int id, String name, int age) {
        System.out.println("调用有参构造方法");
        this.id = id;
        this.name = name;
        this.age = age;
    }

    //右键--Generate--Getter and Setter自动生成
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //右键--Generate--toString
    @Override
    public String toString() {
        return "HomeWork.Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 

二、面向对象的知识点

  1. 建议一个类里写属性,一个类里写方法,不然容易乱。
  2. this.id = id;this 代表当前对象,把通过构造方法传递过来的值赋值给当前对象。
  3. 当new一个对象的时候,调用构造方法。如果你不写任何构造方法,Java会默认提供一个无参构造方法,只是我们看不到而已。如果自己写了任何一个构造方法,系统都不会提供这个默认的构造方法了。所以说!如果你自己写了一个有参构造方法,一定也要生成一下无参的构造方法。无参构造方法的特点是①方法名和类名一样 ②没有返回值 比如
    public Student() {
            System.out.println("调用无参构造方法");
        }

    如果你加一个void,就是普通方法了,不是构造方法,跟下面setAge等没什么区别了。

  4. 构造方法和一般方法的不同:①构造方法是在new对象的时候运行,一般是给对象初始化,而一般的方法是在对象调用的时候才执行。②一个对象的建立,构造方法只执行一次,而一般方法可以被该对象调用多次。

三、练习

1.请定义一个交通工具(Vehicle)的类,

属性:速度(speed),体积(size)

方法:移动(move()),加速speedUp(int speed),减速speedDown(int speed)等等。

最后在测试类Demo 中的main()中实例化一个交通对象,并通过构造方法给他初始化speed、size的值,并通过get方法打印出来。另外,调用加速、减速的方法对速度进行改变(改变speed的值),改变后的速度值在main()方法中打印出来。

//Vehicle.java
package HomeWork;

//请定义一个交通工具(Vehicle)的类,
//属性:速度(speed),体积(size)
public class Vehicle {
    private int speed;
    private int size;

    public Vehicle() {
    }

    public Vehicle(int speed, int size) {
        this.speed = speed;
        this.size = size;
    }

    //方法:移动(move()),加速speedUp(int speed),减速speedDown(int speed)等等。
    public void move(){
        System.out.println(speed);
    }
    public void speedUp(int speed){
        this.speed += speed;

    }
    public void speedDown(int speed){
        this.speed -= speed;

    }

    public int getSpeed() {
        return speed;
    }

    public void setSpeed(int speed) {
        this.speed = speed;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }
}
//Demo.java
package HomeWork;

import HomeWork.Vehicle;
import org.junit.Test;

public class Demo {

    //最后在测试类Demo 中的main()中实例化一个交通对象,并通过构造方法给他初始化speed、size的值,并通过get方法打印出来。
    // 另外,调用加速、减速的方法对速度进行改变(改变speed的值),改变后的速度值在main()方法中打印出来。
    @Test
    public void test2(){
        Vehicle vehicle = new Vehicle(100,23);
        vehicle.move();
        vehicle.speedUp(10);
        vehicle.move();
        vehicle.speedDown(50);
        vehicle.move();
    }
}

 2.编写Java程序,模拟简单的计算器。

定义名为Number的类,其中有两个整数型成员num1、num2,应声明为私有。

编写构造方法,赋予num1和num2初始值,再为该类定义加(add)、减(sub)、乘(multi)、除(div)等公共成员方法,分别对两个成员变量执行加减乘除的运算。

//Number.java
package HomeWork;

public class Number {
    private int num1;
    private int num2;

    public Number() {
    }

    public Number(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

    public int add(){
        return num1 + num2;
    }
    public int sub(){
        return num1 - num2;
    }
    public int multi(){
        return num1 * num2;
    }
    public double div(){
        return num1 * 1.0 / num2;//两个int相除怎么得到double类型
    }

    public int getNum1() {
        return num1;
    }

    public void setNum1(int num1) {
        this.num1 = num1;
    }

    public int getNum2() {
        return num2;
    }

    public void setNum2(int num2) {
        this.num2 = num2;
    }

    @Override
    public String toString() {
        return "Number{" +
                "num1=" + num1 +
                ", num2=" + num2 +
                '}';
    }
}
//Demo.java
package HomeWork;

import org.junit.Test;

public class Demo {
     @Test
     public void test(){
        Number number = new Number(10,4);
          int addResult = number.add();
          int subResult = number.sub();
          int multiResult = number.multi();
          double divResult = number.div();
          System.out.println(addResult);
          System.out.println(subResult);
          System.out.println(multiResult);
          System.out.println(divResult);

     }


}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【练习题】01.类的成员变量 猜数字游戏 一个类A有一个成员变量v 有一个初值100。定义一个类 对A类的成员变量v 进行猜。如果大了则提示大了 小了则提示小了。等于则提示猜测成功。 【练习题】02.类的成员变量 请定义一个交通工具(Vehicle)的类 其中有: 属性 速度(speed) 体积(size)等等 方法 移动(move()) 设置速度(setSpeed(int speed)) 加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象 并通过方法给它初始化sp eed,size的值 并且通过打印出来。另外 调用加速 减速的方法对速度进行改变。 【练习题】03.类的成员变量与方法、构造方法 在程序中 经常要对时间进行操作 但是并没有时间类型的数据。那么 我们可以自己实现 一个时间类 来满足程序中的需要。 定义名为MyTime的类 其中应有三个整型成员 时 hour 分 minute 秒 second 为了保 证数据的安全性 这三个成员变量应声明为私有。 为MyTime类定义构造方法 以方便创建对象时初始化成员变量。 再定义diaplay方法 用于将时间信息打印出来。 为MyTime类添加以下方法 addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】04.构造方法 编写Java程序 模拟简单的计算器。 定义名为Number的类 其中有两个整型数据成员n1和n2 应声明为私有。编写构造方法 赋 予n1和n2初始值 再为该类定义加 addition 、减 subtration 、乘 multiplication 、 除 division 等公有成员方法 分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象 调用各个方法 并显示计算结果。 【练习题】05.构造方法 编写Java程序 用于显示人的姓名和年龄。 定义一个人类 Person 该类中应该有两个私有属性 姓名 name 和年龄 age 。定义构造 方法 用来初始化数据成员。再定义显示 display 方法 将姓名和年龄打印出来。 在main方法中创建人类的实例 然后将信息显示。 【练习题】06.get方法和set方法 定义一个类 该类有一个私有成员变量 通过构造方法将其进行赋初值 并提供该成员的g etXXX()和setXXX()方法 提示 假设有private String name。则有 public void setName(String name){ this.name = name。 } public String getName(){ return this.name。 } 【练习题】07.构造方法与重载 为"无名的粉"写一个类 class WuMingFen 要求 1.有三个属性 面码:String theMa 粉的分量(两) int quantity 是否带汤 boolean likeSoup 2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen("牛肉",3,true)。 3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen("牛肉",2)。 4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen()。 5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控 制台上。 【练习题】08.构造方法的重载 定义一个名为Vehicles 交通工具 的基类 该类中应包含String类型的成员属性brand 商 标 和color 颜色 还应包含成员方法run 行驶 在控制台显示"我已经开动了" 和showI nfo 显示信息 在控制台显示商标和颜色 并编写构造方法初始化其成员属性。 编写Car 小汽车 类继承于Vehicles类 增加int型成员属性seats 座位 还应增加成员方 法showCar 在控制台显示小汽车的信息 并编写构造方法。 编写Truck 卡车 类继承于Vehicles类 增加float型成员属性load 载重 还应增加成员 方法showTruck 在控制台显示卡车的信息 并编写构造方法。 在main方法中测试以上各类。 【练习题】09.构造方法与重载 定义一个网络用户类 要处理的信息有用户ID、用户密码、email地址。在建立类的实例 时 把

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值