头歌 实验二 Java类编程实验

头歌 实验二 Java类编程实验

制作不易,点个关注!给大家带来更多的价值!

第一关: 编写一个代表三角形的类

任务描述
本关任务:创建一个类和一个对象,调用这个对象的属性和方法。

相关知识
为了完成本关任务,你需要掌握:1、什么是类和对象; 2、怎么定义类; 3、怎么创建对象并使用对象的属性和方法。

类的设计
作为Java程序的基本要素,类由成员变量(也称属性)和成员方法组成。属性包括常量和变量,方法则包括构造方法和自定义方法,在定义类时,它们习惯上按如下次序排列:

public class Order{
   
    // final属性
    // 属性
    // 构造方法
    // 自定义方法
}

类的属性一般定义为私有的,而类的方法定义为public。

访问修饰符
Java中定义了private、public、protected和默认的访问修饰符,这些修饰符控制着对类和类的成员变量以及成员方法的访问规则。另外,还可以辅助static和final关键字定义特殊规则。
在这里插入图片描述

,
public是公有类型的权限修饰符,使用public修饰的类、成员变量和成员方法,其他类都可以访问,包括任意包中的任意类以及子类。

private是私有类型的权限修饰符,使用private修饰的成员变量和成员方法,只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的。

protected是保护级别的权限修饰符,它保护成员不会被其他包或非子类访问。也就是说protected修饰的成员只能被子类和同一包中定义的其他类访问。

当不添加任何权限修饰符时,编译器会使用默认权限修饰符,该修饰符的权限级别与protected类似,不同之处在于,其他包定义的子类无法访问父类默认权限修饰的成员。

封装(encapsulation)
封装是指把对象的属性隐藏在对象的内部,不允许外部直接访问和修改。Java规范中的设置器和 访问器就是实现封装的标准方法,它们用于设置和获取对象的属性值。
设置器方法的命名一般以set作为方法名的前缀,以属性名作为后缀。

访问器方法的命名一般以get或is作为方法名称的前缀,以属性名作为后缀。对于boolean类型的属性,应该使用is前缀定义访问器 方法。例如:

public class Car {
   
    private String color;
    private boolean running;
    public String getColor() {
   
        return color;
    }
    public void setColor(String color) {
   
        this.color = color;
    }
    public boolean isRunning() {
   
        return running;
    }
    public void setRunning(boolean running) {
   
        this.running = running;
    }    
}

Object类
在Java中,所有的类都直接或间接继承了java.lang.Object类,它是所有类的父类。Object类中常用的两个方法为equals()和toString()方法。任何类都可以重写Object类中的方法。
Object类处于Java继承层次中的最顶端,它封装了所有类的公共行为。
Object类的equals()方法采用的是==运算比较,也就是只有两个引用变量指向同一对象时才相等。而实际上我们期望该方法进行对象的内容比较,因此子类中通常将equals()方法改写。
类的toString()方法返回对象的描述信息,在Object类中该方法返回对象的类名及对象引用地址。子类中通常要提供自己的toString()方法,以便更好地描述对象。

对象的创建与构造方法
类是创建对象的模板,而对象是类的实例。对象是一组属性和方法的封装体,创建对象要用到保留字new,对象的构造方法的语法格式为:
引用变量 = new 构造方法(参数)

有关构造方法有以下几点说明:
(1) 创建对象时将用到构造方法,系统自动调用参数匹配的构造方法为对象初始化。
(2) 构造方法的名称必须与类名同名,构造方法没有返回类型。
(3) —个类可提供多个构造方法,这些构造方法的参数不同。
(4) 如果程序中未提供构造方法,系统自动提供空的无参构造方法。

对象引用变量与对象关系
对象创建后,将对象的引用赋值给某个引用变量,就可以通过该变量访问对象的成员属性和方法,成员的调用通过“.”运算符实现,格式为:
对象名.属性
对象名.方法(参数)

静态空间与实例空间
带有static修饰的属性称为静态属性或类变量;带有static修饰的方法称为静态方法, 在静态方法内可以直接讨问静态属性或调用其他静态方法,静态属性在分配空间时与对象无关,静态空间的引用是与类关联的,一个类的静态属性成员只有一份,访问静态成员可以通过类名(在自己类中也可以直接访问),也可以通过对象。静态属性是共享的,该类的任何对象均可访问它。

【思考】静态属性归属类,因此必须指明是访问哪个类的静态成员,如果是在自己类中则可以省略,由于对象由类创建,自然对象能标识其所属类,因此也允许用对象做前缀访问静态属性。非静态属性也称实例变量,也就是说,要通过实际的对象才能访问,不同对象其实例变量的值通常是不同的。

Math类
Java 的 Math类包含了用于执行基本数学运算的属性和方法,如平方、对数、平方根和三角函数等。下表为 Math 类的一些常用方法。
在这里插入图片描述

例如:如何求取2 的3次方和0.5 的3次方?
Math.pow(x, y) 方法为Java 的幂运算,意思为求x的y次方,x和y可以是整型也可以是浮点型,该方法返回一个浮点型的值
例子:

double a = Math.pow(2, 3); // 求2的3次方,并将其赋值给一个double型的变量a
System.out.print(a);

执行结果:8.0

例如:如何求取 根号4?
Math.sqrt(x) 为Java 开平方的方法,意思为求x的平方根,x可以是整型也可以是浮点型,该方法返回一个浮点型的值。
例子:

double a = Math.sqrt(4);// 求4的平方根,并将其赋值给一个double型的变量a
System.out.print(a);

执行结果:2.0

Random类
在 Java 中有一个 Random 类,他可以在指定的取值范围内随机产生数字。要想使用 Random 类,第一步需要导入 java.util.Random 这个包。例如:

import java.util.Random;

第二步需要创建 Random 对象。

Random random = new Random();

创建完 Random 对象之后,我们就可以使用它提供的方法来创建随机数了。
,

代码示例:

public class RandomTest {
   
    public static void main(String[] args) {
   
        Random random = new Random();
        System.out.println(random.nextInt(10));
        System.out.println(random.nextFloat());
        System.out.println(random.nextDouble());
    }
}

第一次运行结果:

4
0.60541
0.7046691676099207

第二次运行结果:

3
0.055246472
0.47445795351116005

我们可以看到第一次运行结果和第二次运行的结果是不一样的。当我们想要第一次和第二次运行结果一致的话,可以在创建 Random 对象的时候传入一个Long 类型的数字,这个数字叫随机种子。具有相同随机种子的 Random 对象生成的随机数是一样的。
示例:

public static void main(String[] args) {
   
        // 创建一个Random对象并传入随机种子
        Random random = new Random(10);
        System.out.println(random.nextInt(10));
        System.out.println(random.nextFloat());
        System.out.prin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值