Java上机实验-类的使用

合集下载

java中类的用法

java中类的用法

java中类的用法Java是一种面向对象的编程语言,类是面向对象编程的基本概念之一。

在Java中,类是一种模板,它用来描述一类对象的方法和属性。

可以通过创建类的对象来使用它的方法和属性。

本文将介绍Java中类的用法。

一、定义类Java中定义类的语法如下:```java public class ClassName { // 类的成员变量 // 类的构造函数 // 类的方法 } ```其中,类名要遵循标识符的命名规范。

类的成员变量是类的属性,它们用于存储对象的状态。

类的构造函数用于创建对象并初始化它的成员变量。

类的方法用于定义对象的行为。

二、成员变量Java中的成员变量也称为类的属性,用于存储对象的状态。

成员变量可以是基本类型、引用类型或数组类型。

在类的定义中,成员变量要放在构造函数和方法的前面。

成员变量可以通过类的对象来访问和修改。

```java public class Person { private String name; private int age;public Person(String name, int age){ = name; this.age = age; }public String getName() { return name; }public void setName(String name){ = name; }public int getAge() { return age; }public void setAge(int age){ this.age = age; } } ```在上面的例子中,Person类有两个成员变量name和age,它们都使用private关键字修饰,表示只能在类内部访问。

同时,这个Person类提供了一个有参构造函数和getter、setter方法,用来访问和修改成员变量。

三、构造函数Java中的构造函数用于创建对象并初始化它的成员变量。

《Java语言程序设计》上机实验指导手册

《Java语言程序设计》上机实验指导手册

《Java语⾔程序设计》上机实验指导⼿册《Java语⾔程序设计》上机实验指导⼿册实验⼀ Java环境演练【⽬的】①安装并配置Java运⾏开发环境;②掌握开发Java应⽤程序的3个步骤:编写源⽂件、编译源⽂件和运⾏应⽤程序;③学习同时编译多个Java源⽂件。

【内容】1.⼀个简单的应⽤程序实验要求:编写⼀个简单的Java应⽤程序,该程序在命令⾏窗⼝输出两⾏⽂字:“你好,很⾼兴学习Java”和“We are students”。

程序运⾏效果⽰例:程序运⾏效果如下图所⽰:程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令⾏窗⼝输出"你好,很⾼兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令⾏窗⼝输出"We are students"}}实验后的练习:3.编译器怎样提⽰将System写成system这⼀错误?4.编译器怎样提⽰将String写成string这⼀错误?2.联合编译实验要求:编写4个源⽂件:Hello.java、A.java、B.java和C.java,每个源⽂件只有⼀个类,Hello.java是⼀个应⽤程序(含有main⽅法),使⽤了A、B和C类。

将4个源⽂件保存到同⼀⽬录中,例如:C:\100,然后编译Hello.java。

程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令⾏窗⼝输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令⾏窗⼝输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令⾏窗⼝输出"I am B"}public class C{void fC(){【代码4】 //命令⾏窗⼝输出"I am C"}}实验后的练习:5.将Hello.java编译通过后,不断修改A.java源⽂件中的代码,⽐如,在命令⾏窗⼝输出“我是A类”或“我被修改了”。

java实验报告 类的继承

java实验报告 类的继承

java实验报告类的继承一、实验目的1、深入理解 Java 中类的继承概念和机制。

2、掌握通过继承实现代码复用和功能扩展。

3、学会使用 super 关键字和方法重写。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse 或 IntelliJ IDEA三、实验内容1、创建一个父类`Animal`包含属性:`name`(字符串类型),`age`(整数类型)包含方法:`eat()`(打印出动物正在吃东西),`sleep()`(打印出动物正在睡觉)2、创建子类`Dog` 继承自`Animal`新增属性:`breed`(字符串类型,表示狗的品种)重写父类的`eat()`方法,打印出狗吃东西的特有方式新增方法:`bark()`(打印出狗在叫)3、创建子类`Cat` 继承自`Animal`新增属性:`color`(字符串类型,表示猫的颜色)重写父类的`sleep()`方法,打印出猫睡觉的特有姿势新增方法:`meow()`(打印出猫在叫)四、实验步骤1、在 Java 项目中创建一个名为`Animal` 的类:```javapublic class Animal {private String name;private int age;public Animal(String name, int age) {thisname = name;thisage = age;}public void eat(){Systemoutprintln(name +" is eating");}public void sleep(){Systemoutprintln(name +" is sleeping");}}```2、创建一个名为`Dog` 的类继承自`Animal`:```javapublic class Dog extends Animal {private String breed;public Dog(String name, int age, String breed) {super(name, age);thisbreed = breed;}@Overridepublic void eat(){Systemoutprintln(supergetName()+" the "+ breed +" dog is eating greedily");}public void bark(){}}```3、创建一个名为`Cat` 的类继承自`Animal`:```javapublic class Cat extends Animal {private String color;public Cat(String name, int age, String color) {super(name, age);thiscolor = color;}@Overridepublic void sleep(){Systemoutprintln(supergetName()+" the "+ color +" cat is sleeping curled up");}public void meow(){}}```4、在`Main` 类中进行测试:```javapublic class Main {public static void main(String args) {Dog dog = new Dog("Buddy", 3, "Labrador");dogeat();dogbark();dogsleep();Cat cat = new Cat("Mimi", 2, "White");cateat();catsleep();catmeow();}}```五、实验结果1、运行`Main` 类后,输出结果如下:`Buddy the Labrador dog is eating greedily``Buddy is barking``Buddy is sleeping``Mimi is eating``Mimi the White cat is sleeping curled up``Mimi is meowing`2、可以看到,子类`Dog` 重写了父类`Animal` 的`eat()`方法,展示了狗特有的吃东西方式;子类`Cat` 重写了父类的`sleep()`方法,展示了猫特有的睡觉姿势。

JAVA实验报告心得

JAVA实验报告心得

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目: java上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间: 2012年12月19日版本: 1.0.0指导教师:北京联合大学-信息学院编制实验1 熟悉java运行环境实验目的:熟悉jdk环境和操作,编写简单的java应用程序。

心得体会:在该实验中,我碰到的问题是jdk环境变量的设置。

解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。

实验2 选择语句练习实验目的:正确理解并能够熟练操作和使用java的if和switch语句。

心得体会:我个人感觉有了c的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟c非常相近,所以上手比较快。

但是在这次程序中,首次涉及到了java程序的数据输入,与c区别很大。

但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。

在第二个小题中还涉及到了charat()方法,经查阅jdk 文档,知道charat()方法返回一个位于提供给它的参数索引处的字符,如: str.chatat(0)检索str中的第一个字符,str.charat(str.length()-1)检索最后一个字符。

我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习实验4 方法的实现练习实验目的:声明、定义和调用方法,理解实参和形参的含义。

心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。

方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。

实验5 简单类型数组练习实验目的:学习创建简单类型的数组,并能用循环语句处理数组。

心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。

在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。

攀枝花学院Java实验五 常用类

攀枝花学院Java实验五 常用类

实验报告附页String s7 = new String("123.678");int n1=Integer.parseInt(s6);//将s6转化成int型数据。

double n2=Double.parseDouble(s7); //将s7转化成double型数据。

double m=n1+n2;System.out.println(m);String s8=String.valueOf(m); //String调用valuOf(int n)方法将m转化为字符串对象position=s8.indexOf(".");String temp=s8.substring(position+1);System.out.println("数字"+m+"有"+temp.length()+"位小数") ;@SuppressWarnings("unused")String s9=new String("ABCDEF");char a[]=s8.toCharArray(); //将s8存放到数组a中。

for(int i=a.length-1;i>=0;i--){System.out.print(" "+a[i]);}}}运行结果:将上面程序按如下要求修改,并运行:(1)程序中的s6改写成String s6=new String(“1a12b”);运行时提示怎样的错误?Exception in thread "main" ng.NumberFormatException: For input string: "1a12b"at ng.NumberFormatException.forInputString(Unknown Source)at ng.Integer.parseInt(Unknown Source)at ng.Integer.parseInt(Unknown Source)at xiti2.xiugai.main(xiugai.java:39)(2)请用数组a的前3个单元创建一个字符串并输出该串。

JAVA实验7

JAVA实验7

浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。

2.掌握JAVA语言对象的声明和使用。

3.掌握JAVA语言构造方法的概念和使用。

4.掌握类及其成员的访问控制符的区别和使用。

【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。

(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。

class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。

Java上机实验报告(3)

Java上机实验报告(3)

Java上机实验报告(3)任务简要描述⼀、⼀、任务简要描述1、集合类的使⽤举例Collection接⼝ Collection是最基本的集合接⼝,⼀个Collection代表⼀组Object,即Collection的元素(Elements)。

⼀些 Collection允许相同的元素⽽另⼀些不⾏。

⼀些能排序⽽另⼀些不⾏。

Java SDK不提供直接继承⾃Collection的类,Java SDK提供的类都是继承⾃Collection的“⼦接⼝”如List和Set。

所有实现Collection接⼝的类都必须提供两个标准的构造函数:⽆参数的构造函数⽤于创建⼀个空的Collection,有⼀个 Collection参数的构造函数⽤于创建⼀个新的Collection,这个新的Collection与传⼊的Collection有相同的元素。

后⼀个构造函数允许⽤户复制⼀个Collection。

如何遍历Collection中的每⼀个元素?不论Collection的实际类型如何,它都⽀持⼀个iterator()的⽅法,该⽅法返回⼀个迭代⼦,使⽤该迭代⼦即可逐⼀访问Collection中每⼀个元素。

典型的⽤法如下:1 Iterator it = collection.iterator(); // 获得⼀个迭代⼦2 while(it.hasNext()) {3 Object obj = it.next(); // 得到下⼀个元素 由Collection接⼝派⽣的两个接⼝是List和Set。

List接⼝ List是有序的Collection,使⽤此接⼝能够精确的控制每个元素插⼊的位置。

⽤户能够使⽤索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

和下⾯要提到的Set不同,List允许有相同的元素。

除了具有Collection接⼝必备的iterator()⽅法外,List还提供⼀个listIterator()⽅法,返回⼀个 ListIterator接⼝,和标准的Iterator接⼝相⽐,ListIterator多了⼀些add()之类的⽅法,允许添加,删除,设定元素,还能向前或向后遍历。

实验二Java类编程实验

实验二Java类编程实验

实验⼆Java类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。

圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。

另外,圆环类中的getArea⽅法可以返回其⾯积。

把程序中的代码补充完整,并查看结果。

public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。

java类与对象实验报告

java类与对象实验报告

java类与对象实验报告Java类与对象实验报告一、引言Java是一种面向对象的编程语言,类和对象是Java编程的基本概念。

在本次实验中,我们将学习和掌握Java类和对象的概念、定义和使用方法,并通过实际的编程实验来加深对这些概念的理解。

二、实验目的1. 理解Java类和对象的概念;2. 学会定义和使用Java类;3. 掌握创建和操作Java对象的方法;4. 熟悉Java类和对象的相关语法和规范。

三、实验过程1. 类的定义在Java中,类是对象的模板,用于描述对象的属性和行为。

我们首先需要定义一个类,以便创建对象。

类的定义包括类名、属性和方法。

属性即对象的特征,方法即对象的行为。

2. 对象的创建通过使用关键字"new",我们可以创建一个类的对象。

对象是类的实例化,每个对象都有自己的属性和方法。

3. 对象的属性和方法对象的属性和方法可以通过对象名加点操作符来访问。

属性可以是基本类型或其他类的对象,方法可以是对象的行为或功能。

4. 构造方法构造方法是一种特殊的方法,用于创建对象时进行初始化操作。

构造方法的名称必须与类名相同,没有返回类型,可以有参数。

5. 封装性封装性是面向对象编程的重要特性之一,它将数据和方法封装在类中,对外部隐藏内部实现细节。

通过使用访问修饰符(private, public, protected)来控制属性和方法的访问权限。

6. 继承继承是面向对象编程的另一个重要特性,它允许我们创建一个新类,并从现有类中继承属性和方法。

通过使用关键字"extends"来实现继承。

7. 多态性多态性是面向对象编程的核心概念之一,它允许我们使用一个父类类型的引用来引用子类的对象。

通过方法的重写和重载来实现多态性。

四、实验结果通过本次实验,我们成功定义了一个Java类,并创建了多个对象。

我们可以通过对象名来访问对象的属性和方法,并对其进行操作。

我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。

java实验报告

java实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。

同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。

java类和对象的应用实验总结

java类和对象的应用实验总结

Java类和对象的应用实验总结在Java编程语言中,类(Class)和对象(Object)是两个核心的概念。

类是对象的模板或蓝图,而对象则是类的实例。

通过使用类和对象,我们可以创建具有共享属性和方法的实体,也可以创建具有独特属性和行为的实体。

以下是我对Java类和对象应用实验的一些总结:类的定义和使用:在Java中,我们使用class关键字来定义一个类。

例如,我们可以创建一个名为Person的类,该类具有name、age 和height等属性,以及eat()和sleep()等方法。

我们可以通过创建类的实例(即对象)来使用类。

对象的创建和使用:我们使用new关键字来创建一个类的实例,这个实例就是一个对象。

例如,我们可以创建一个Person类的对象,并通过调用对象的方法来执行特定的行为。

我们也可以通过访问对象的属性来获取或修改对象的状态。

继承:Java中的类可以继承其他类的属性和方法。

通过继承,我们可以创建一个新的类,该类继承了父类的所有属性和方法,并可以添加自己的属性和方法。

这个过程被称为类的扩展或继承。

多态:在Java中,一个对象可以被引用为多种类型。

例如,我们可以有一个父类类型的引用指向一个子类对象。

当调用这个对象的方法时,会根据对象的实际类型来调用相应的方法。

这就是多态性的体现。

封装:封装是Java中一个重要的面向对象编程概念。

通过封装,我们可以将数据(属性)和处理数据的方法(方法)绑定在一起,形成一个独立的实体。

封装的目的是增加安全性和简化性,用户只知道对象提供哪些方法,至于内部的具体实现细节则一概不知。

通过这些实验,我深入理解了Java的类和对象的概念,以及它们在面向对象编程中的重要性。

这些实验也帮助我理解了如何使用类和对象来设计和实现复杂的系统。

JAVA语言程序设计实验五 定义和使用类和对象实验报告

JAVA语言程序设计实验五  定义和使用类和对象实验报告

温州大学瓯江学院 JAVA语言程序设计实验报告t1.setTelenmb("123","88362146");t1.print();}}2.class gg //Student是类名{//声明成员变量int sNumber; //学号String sName; //姓名String sClass; //班号String tNumber;String password;gg(String b){password=b;}int check(String a){if(a==password)return 1;else return 0;}void settNumber(String a,String b){if(check(a)==1)tNumber=b;}String gettNumber(String a){if(check(a)==1)return tNumber;elsereturn"no permittion";}}public class zz //主类Check0{public static void main(String args[ ]) //主方法main { gg x= new gg("123"); //创建Student类的对象x//访问成员变量x.sName="myname";x.sNumber=900001;x.settNumber("123","1547942");System.out.println(x.gettNumber("123"));System.out.println(x.sName);System.out.println(x.sNumber);}}3.class Account{private int id;private String name;private float leftmoney;private String pass;public int getID() { return id;}public void setID(int iD) {id = iD;}public float getLeft() {return leftmoney;}public void setLeft(float left) {this.leftmoney = left;}public String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}public void withdrawMoney(String a,float amount){i f(a==pass){if(leftmoney>=amount){leftmoney=leftmoney-amount;System.out.println("取钱成功"+"取了"+amount+"元");}elseSystem.out.println("余额不足");}e lseSystem.out.println("密码错误");}public void saveMoney(String a,float amount ){if(a==pass){leftmoney=leftmoney+amount;System.out.println("存钱成功"+"存了"+amount+"元");}elseSystem.out.println("密码错误");}float inqury(String a){if(pass==a)return leftmoney;else return -1;}}class zz{public static void main(String args[]){Account gg=new Account();gg.setID(0245);gg.setLeft(1000);gg.setPass("123");gg.saveMoney("123",600);gg.withdrawMoney("123",700);gg.withdrawMoney("124",5000);System.out.println(gg.inqury("123"));}}4.class acfun{String name;String id;private int intgretResult;private int sports;public void setname(String a){name=a;}public void setid(String a){id=a;}public void setintgretResult(int a){intgretResult=a;} public int getintgretResult(){return intgretResult;} public int getsport(){return sports;}public void setsports(int a){sports=a;}public void print(){System.out.println("name="+name+'\n'+"id="+id +"intgretResult="+intgretResult+"sports="+sports+'\n'+"被录取");}}public class zz {static int check(int a,int b){if(a>300&&b>96)return 1;elsereturn 0;}public static void main(String args[]){acfun hh= new acfun();hh.setname("yyf");hh.setid("0245");hh.setintgretResult(400);hh.setsports(98);if(check(hh.getintgretResult(),hh.getsport())==1)hh.print();acfun x= new acfun();x.setname("sag");x.setid("3443");x.setintgretResult(70);x.setsports(70);if(check(x.getintgretResult(),x.getsport())==1)x.print(); }}五、实验结果与分析():六、教师评语:实验成绩:教师:**。

使用Java实现面向对象编程2、第二章-继承(上机实操手册)

使用Java实现面向对象编程2、第二章-继承(上机实操手册)

JA V AOOP第二章上机步骤上机练习一、训练要点:继承子类重写父类方法理解继承中的初始化过程需求说明:优化电子宠物系统使用继承实现Dog类和Penguin类打印宠物信息实现思路:步骤:1、将第一章的工程导入2、在cn.jbit.epet包下新建ch02包在此包下,创建Pet类,定义属性和方法,定义print()方法,定义无参和有参构造方法package cn.jbit.epet.ch02;/***宠物类,狗狗和企鹅的父类。

* 更多资源可在阿升老师的【与或非】公号中自行查找*@author*/public class Pet {private String name = "无名氏";// 昵称private int health = 100;// 健康值private int love = 0;// 亲密度/***无参构造方法。

*/public Pet() {this.health = 95;System.out.println("执行宠物的无参构造方法。

");}/***有参构造方法。

*@param name昵称*/public Pet(String name) { = name;System.out.println("执行宠物的有参构造方法。

");}public String getName() {return name;}public void setName(String name) { = name;}public int getHealth() {return health;}public void setHealth(int health) {this.health = health;3、创建Dog类,继承pet类,增加strain(品种)属性及相应的getter/set方法。

及有参构造package cn.jbit.epet.ch02;/***狗狗类,宠物的子类。

java实验报告:实验六

java实验报告:实验六

java实验报告:实验六一、实验目的本次实验的主要目的是深入理解和掌握 Java 中的一些关键概念和技术,包括面向对象编程的特性、异常处理机制以及文件操作等。

通过实际的编程实践,提高我们运用 Java 解决实际问题的能力。

二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,操作系统为 Windows 10。

三、实验内容(一)面向对象编程实践1、定义一个名为“Student”的类,包含学生的姓名、学号和成绩等属性,并实现相应的 getter 和 setter 方法。

2、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出。

(二)异常处理1、编写一个方法,实现两数相除的运算。

如果除数为 0,抛出“ArithmeticException”异常。

2、在主函数中调用该方法,并使用trycatch 语句捕获并处理异常。

(三)文件操作1、创建一个文本文件,并向其中写入一些数据。

2、读取该文件中的数据,并将其输出到控制台。

四、实验步骤(一)面向对象编程实践1、首先,在 IntelliJ IDEA 中创建一个新的 Java 项目。

2、然后,创建“Student”类,代码如下:```javapublic class Student {private String name;private int studentId;private double score;public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentId(){return studentId;}public void setStudentId(int studentId) {thisstudentId = studentId;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```3、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出,代码如下:```javapublic class Main {public static void main(String args) {Student student = new Student();studentsetName("张三");studentsetStudentId(1001);studentsetScore(905);Systemoutprintln("学生姓名:"+ studentgetName());Systemoutprintln("学生学号:"+ studentgetStudentId());Systemoutprintln("学生成绩:"+ studentgetScore());}}```(二)异常处理1、编写一个名为“divide”的方法,实现两数相除的运算,代码如下:```javapublic class ExceptionHandling {public static double divide(double num1, double num2) {if (num2 == 0) {throw new ArithmeticException("除数不能为 0");}return num1 / num2;}public static void main(String args) {try {double result = divide(10, 0);Systemoutprintln("结果:"+ result);} catch (ArithmeticException e) {Systemoutprintln("捕获到异常:"+ egetMessage());}}}```(三)文件操作1、创建一个名为“FileOperation”的类,用于实现文件的写入和读取操作,代码如下:```javaimport javaioBufferedWriter;import javaioFileWriter;import javaioIOException;import javaioBufferedReader;import javaioFileReader;public class FileOperation {public static void writeToFile(String filePath, String content) {try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))){writerwrite(content);} catch (IOException e) {eprintStackTrace();}}public static String readFromFile(String filePath) {StringBuilder content = new StringBuilder();try (BufferedReader reader = new BufferedReader(new FileReader(filePath))){String line;while ((line = readerreadLine())!= null) {contentappend(line)append("\n");}} catch (IOException e) {eprintStackTrace();}return contenttoString();}public static void main(String args) {String filePath ="testtxt";String data ="这是写入文件的内容";writeToFile(filePath, data);String readData = readFromFile(filePath);Systemoutprintln("读取到的文件内容:\n" + readData);}}```五、实验结果(一)面向对象编程实践成功创建了“Student”类的对象,并正确地对其属性进行了赋值和输出。

《Java语言程序设计》上机实验指导手册new2【精选】

《Java语言程序设计》上机实验指导手册new2【精选】

《Java程序设计》上机实验指导书实验一类与对象【实验目的】①使用类来封装对象的属性和功能;②掌握类变量与实例变量,以及类方法与实例方法的区别;③理解接口、塑型、多态的概念并能熟练应用。

④巩固以下概念:子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【实验任务】1、创建Java类与对象,并创建方法(1).编写一个Java程序片断,以定义一个表示学生的类Student。

这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。

(2).为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。

编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能。

class Student{private long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age){this.studentID=studentID;this.classID=classID;=name;this.sex=sex;this.age=age;}public long getStudentID(){return studentID;}public int getClassID(){}public String getName(){return name;}public String getSex(){return sex;}public int getAge(){return age;}public String toString(){return "学号:"+getStudentID()+"\n班号:"+getClassID()+"\n 姓名:"+getName()+"\n性别:"+getSex()+"\n年龄:"+getAge();}}public class StudentDemo{public static void main(String[] args){Student s1=new Student(90221,2,"Tom","male",20);System.out.println(s1.toString());}}运行结果:学号:90221班号:2姓名:Tom性别:male年龄:202、三角形、梯形和圆形的类封装✧实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

Java程序设计实训实验指导书

Java程序设计实训实验指导书

专业资料参考《JAVA 程序设计实训》实验报告班级:学号:姓名:实验一开发简单的Java应用程序一、上机目标:开发“我行我素”购物管理系统:1.制作系统登录菜单2.制作系统主菜单3.制作客户信息管理菜单二、训练技能点1.熟悉用Eclipse编写Java程序2.会使用输出语句从控制台输出信息3.会进行代码排错三、实验内容阶段1:训练要点:使用Eclipse平台开发Java程序Java输出语句需求说明:从控制台输出一行信息:欢迎使用开心购物管理系统1.0版实现思路:创建一个Java项目:ShopManagementSystem创建一个文本文件:LoginMenu1.java编写程序框架编写输出语句编写注释代码:public class LoginMenu1{public static void main(String[ ] args){System.out.println(" ");}}阶段2:需求说明:从控制台输出多行信息代码:public class LoginMenu2 {public static void main(String[] args) {/*从控制台输出信息*/System.out.println("************************************\n");System.out.println( );System.out.println( );System.out.println("************************************");}}阶段3:训练要点:使用\n和\t控制输出格式需求说明:从控制台输出购物管理系统的登录菜单实现思路:创建文件:LoginMenu.java结合使用\n和\t控制菜单输出格式代码:空行public class LoginMenu {/** 显示系统登录菜单*/public static void main(String[] args) {System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统1.0版\n\n");System.out.println( );System.out.println( );System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.print("请选择,输入数字:");}}阶段4:需求说明:输出两个菜单1、系统主菜单MainMenu.java代码:2、客户信息管理菜单CustMMenu.java代码:阶段5:训练要点:代码排错技巧需求说明:纠正程序中的错误,使其输出“我喜欢Java程序”public class wrongcode {public static void Main() {/*打印输出一条信息system.out.println(我喜欢Java程序)//修改为:system.out.println(“我喜欢Java程序”);加””和; }实验二变量、数据类型和运算符一、上机目标:升级“我行我素”购物管理系统,完成以下功能:•购物结算•打印购物小票•计算会员积分•模拟幸运抽奖•计算员工工资二、训练技能点:•会声明和使用变量•能熟练使用常用运算符•赋值运算符:=•算术运算符:+、- 、*、/、%三、实验内容阶段1:训练要点:运算符(*、=)、从控制台输出信息需求说明:根据购物清单及会员级别:1、计算消费金额客户购买商品单价个数折扣1 T恤¥420.71 9.582 网球¥453 无2、以下表形式输出结果(不要求表格边框)客户消费金额1 张三?2 李四?实现思路:声明变量存放商品信息(单价、购物个数)根据不同折扣,分别计算消费金额使用“+”连接输出信息,使用\t控制输出格式代码:public class Pay1 {public static void main(String[] args) {double shirtPrice = 420.78; //T恤单价int shirtNo = 1; //购T恤件数double tennisPrice = 45; //网球单价int tennisNo = 3; //购网球个数double shirtMoney = ; //张三消费金额double tennisMoney = ; //李四消费金额System.out.println("客户\t" + "消费金额");System.out.println("张三\t" + shirtMoney);System.out.println( );}}阶段2:需求说明:张三(享8折)购物如右表所示,结算时支付1500元1、计算消费总额并打印购物小票(如下图)商品单价个数T恤245 2网球鞋570 1网球拍320 12、计算购物获得的会员积分(100元获3分)代码:阶段3:训练要点:运算符(%、/)需求说明:幸运抽奖:凡是4位会员卡号的各个位上的数字之和大于20,则为幸运客户,有精美Mp3送上,编程计算8349各位数字之和实现思路:结合使用“/”和“%”分解获得各位数字计算各位数字之和代码:阶段4:需求说明:商场为员工提供了基本工资(3000元)、物价津贴及房租津贴,其中物价津贴为基本工资的40%,房租津贴为基本工资的25%。

java实验报告——类与对象

java实验报告——类与对象
phone=p; } public long getId(){
return id; } public String getName(){
return name; } public int getAge(){
return age;
2
实验报告
} public boolean getSex(){
return sex; } public String getPhone(){
input():void display():void insert():void delete():void ……
3)写出 toString()方法的实现 public String toString(){
return "\n 编号:"+id+"姓名:"+name+"年龄:"+"性别:"+sex+"联系电 话:"+phone;
}
9)写出 Cmanage 类中的查询方法
public void search(){
int f=0;
Scanner in=new Scanner(System.in);
System.out.println("请输入查询的 id 号:");
long n=in.nextLong();
for(int i=0;i<cu.length;i++){
}
5
实验报告
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
1.你设计该软件使用的哪个集成开发环境? 答:NetBeans IDE 6.9

Java上机实验指导书

Java上机实验指导书
intnumber=random.nextInt(100)+1;//random.nextInt(100)产生[0,100)中的随机整数
intyourGuess=0;
System.out.println("输入你的猜测");
yourGuess=reader.nextInt();
while([代码1])
System.out.println(“tank2目前的速度:”+tank2.getSpeed());
System.out.println(“tank1开火:”);
tank1.fire();
System.out.println(“tank2开火);
tank2.fire();
tank2.fire();
图1-5
(三)使用EditPlus
要编写Java程序,需要有文本编辑器。可以使用操作系统提供的记事本作为编辑器,最好选择EditPlus编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用,同时可以对程序进行编译和运行。
1.下载并安装EditPlus编辑软件EditPlus编辑软件的安装方法很简单,安装软件提示要求去做即可。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译命令和要谝译的源程序文件名,
javac Hello.java
按回车键开始执行(注意:文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello. class”,如图1-7所示。否则,将显示出错信息。
}
}
System.out.println("猜对了;");

java程序设计课程--实验报告-实验05

java程序设计课程--实验报告-实验05
(c)完成赋值语句,使change1变量包含与colledge相同的字符,但是全部大写;
(d)完成赋值语句,使change2包含与change1相同的字符,但是所有字符“O”全部要用“*”替换。
(e)完成赋值语句,将colledge和town两个字符串连接起来,并把值赋给change3(使用String类的concat方法)。
phraseLength = phrase.length();
middleIndex = phraseLength/2;
//get the substring for each half of the phrase
firstHalf = phrase.substring(0,middleIndex);
int phraseLength;//number of characters in the phrase String
int middleIndex;//index of the middle character in the String
String firstHalf;//first half of the phrase string
3.声明两个新的字符串类型变量city和state。添加语句,提示用户输入他们的籍贯所在的city和state,并使用Scanner类读入该信息。然后使用String类创建并打印一个新字符串,包含state名(全部大写),city名(全部小写),state名(全部大写)。如下例所示:
NORTH CAROLINAlilesvilleNORTH CAROLINA
//Get the lengths of the sides as input
System.out.print("Please enter the lengths of the two sides of" + "a right triangle(separate by a blank space):");

java上机实验报告

java上机实验报告

JAVA上机实验报告实验一 JA V A 基本语法一、实验目地了解Java 地数据类型,掌握各种变量地声明方式,理解运算符地优先级,掌握Java 基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法地程序设计方法.二、实验要求1、编写一个声明Java 不同数据类型变量地程序.2、编写使用不同选择结构地程序.3、编写使用不同循环结构结构地程序.三、实验内容和步骤1、程序代码:public class SimpleTypes{public static void main(String args[]){byte b=0x55。

short s=0x55ff。

int i=1000000。

long l=0xfffL。

char c='c'。

float f=0.23F。

double d=0.7E-3。

boolean bool=true。

System.out.println("b="+b)。

System.out.println("s="+s)。

System.out.println("i="+i)。

System.out.println("l="+l)。

System.out.println("c="+c)。

System.out.println("f="+f)。

System.out.println("d="+d)。

System.out.println("bool="+bool)。

}}运行结果:2、程序代码:public class TestIf{public static void main(String args[]){boolean leap。

int year=2005。

if((year%4==0&&year%100!=0)||(year%400==0)) //方法1System.out.println(year+" 年是闰年")。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称Java上机实验二姓名:山水不言学号:xxxxxx一、实验内容○1编程创建一个Box类。

要求:定义三个实例变量分别表示立方体的长、宽和高,定三个构造方法(必须包含一个无参构造方法,一个满参构造方法)对这3个变量进行初始化,然后定义一个方法求立方体的体积。

创建一个对象,求给定尺寸的立方体的体积。

实验思路:创建一个Box类,将它的长宽高以及体积实例变量设为private,类中声明一个求体积的public方法。

设置三个构造函数来对者三个变量初始化:1、构造函数有三个参数,分别对应实例的长、宽和高。

构造函数可以对变量赋值合法性进行判断。

2、构造函数有两个参数则对应实例的长和宽,高默认为1,构造函数可以对函数合法性进行判断。

3、构造函数没有参数实例的长宽高默认为0在另一个类里创建3个Box对象,调用volume函数分别求体积。

实验源代码:package com.box;public class box_demo {public static void main(String[] args) {// TODO自动生成的方法存根Box box1=new Box();Box box2=new Box(12.3,34.1);Box box3=new Box(12.3,34.1,10.0);System.out.print("the volume of thebox1:"+box1.volume()+"\n");System.out.print("the volume of thebox2:"+box2.volume()+"\n");System.out.print("the volume of thebox3:"+box3.volume());}}package com.box;public class Box {private double height;private double width;private double length;private double volume;public Box(){this.height=0;this.length=0;this.width=0;}public Box(double Box_len,double Box_wid,double Box_height) {if(Box_len<0)this.length=0;elsethis.length=Box_len;if(Box_wid<0)this.width=0;elsethis.width=Box_wid;if(Box_height<0)this.height=0;elsethis.height=Box_height;}public Box(double Box_len,double Box_wid){if(Box_len<0)this.length=0;elsethis.length=Box_len;if(Box_wid<0)this.width=0;elsethis.width=Box_wid;this.height=1;}public double volume(){this.volume=this.length*this.width*this.height;return this.volume;}}○2学生类的创建和使用(1)创建一个Student类,包括的域有学号、班号、姓名、性别年龄等,且都是private类型。

(2)声明一个构造方法,以初始化对象的所有域。

(3)声明分别获得各属性(学号,班号,姓名,性别,年龄)的各个public方法。

(4)声明修改各属性(学号,班号,姓名,性别,年龄)的各个public方法。

(5)声明一个为public型的toString()方法,把该类中的所有域信息组合成一个字符串。

(6)在类中声明统计班级总人数的私有域count的到班级总人数的public方法(可在构造方法里进行Student对象个数的增加)。

(7)将类Student放在子包student中。

(8)在子包student外,创建测试类Student的主类。

在主类中,使用Student类创建两个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,修改后显示对象的姓名和年龄;比较两个Student对象的年龄大小,输出年龄较大的Student对象。

实验思路:1、创建一个Student类,两个构造方法,无参的构造函数:默认姓名和性别为空,其余项都为0。

有全参的构造函数:分别为对象的实例变量赋值。

2、写获得各属性的public方法,返回的是:this.变量名3、写修改各属性的public方法,判断参数的合法性,修改变量值4、写toString函数,利用Integer.toString()函数把整型变量转化为字符串,把所有域信息连接,中间用’\t’隔开。

5、写一个public static函数getclass_number()获得班级人数,返回值是static 型变量count6、在student包外,比较两个Student对象的年龄需要调用Student对象获得年龄的方法get_stu_age(),用两个临时变量来保存函数返回的年龄,比较大小,年龄大的利用get_stu_name()来获得对象的名字。

实验源代码:package com.server;import com.student.Student;public class demo {public static void main(String[] args) {Student stu1,stu2;stu1=new Student(13,1704,"慕寨","男",48);stu2=new Student(14,1704,"衫泽","女",27);System.out.println("no"+"\tclass"+"\tname"+"\tsex"+"\tage") ;System.out.print(stu1.toString());System.out.print(stu2.toString());stu1.set_name("慕寒");stu1.set_age(29);stu2.set_name("杉泽");stu2.set_age(28);System.out.println("update:");System.out.println("new name:"+stu1.get_stu_name()+"new age"+stu1.get_stu_age());System.out.println("new name:"+stu2.get_stu_name()+"new age:"+stu2.get_stu_age());int st1_age=stu1.get_stu_age();int st2_age=stu2.get_stu_age();System.out.println("the older one:");if(st1_age>st2_age){System.out.print(stu1.get_stu_name());}else{System.out.print(stu1.get_stu_name());}}}package com.student;public class Student {private int s_no;private int c_no;private String name;private String sex;private int age;private static int count;public Student(){s_no=0;c_no=0;name="";sex="";age=0;}public Student(int stu_no,int class_no,String stu_name, String stu_sex,int stu_age){this.s_no=stu_no;this.c_no=class_no;=stu_name;if(stu_sex!="男"&&stu_sex!="女")this.sex="男";elsethis.sex=stu_sex;if(stu_age<0)this.age=0;elsethis.age=stu_age;count++;}public int get_stu_no(){return this.s_no;}public int get_class_no(){return this.c_no;}public String get_stu_name(){return ;}public String get_stu_sex(){return this.sex;}public int get_stu_age(){return this.age;}/*修改对象*/public void set_stu_no(int new_sno){if(new_sno<=0)return;this.s_no=new_sno;}public void set_class_no(int new_cno){if(new_cno<=0)return;this.c_no=new_cno;}public void set_name(String new_name){=new_name;}public void set_sex(String new_sex){if(new_sex!="男"&&new_sex!="女")return;this.sex=new_sex;}public void set_age(int new_age){if(new_age<0)return;this.age=new_age;}public String toString(){String stu_string;stu_string=Integer.toString(this.s_no)+"\t"+Integer.toStrin g(this.c_no)+"\t"++"\t"+this.sex+"\t"+Integer.toString(this.ag e)+"\n";return stu_string;}public static int getclass_number(){return count;}}二、实验心得在此次实验中我将创建类和使用类的代码放在两个.Java文件中,对于每个类来说,正确的使用需要有合适的对外接口。

相关文档
最新文档