Java语言中类与对象的创建
Java语言中类与对象的创建
文章目录
- Java语言中类与对象的创建
- 一、实验目的:
- 二、实验要求:
- 三、实验内容:
一、实验目的:
1、掌握类、对象的概念;
2、掌握对象的创建过程;
3、理解对象的隐蔽性、抽象性等特征;
4、熟练创建类、创建对象;
5、理解对象在内存的存储;
6、了解构造方法作用,掌握构造方法编写规则;
7、掌握、并熟练运用成员变量等。
二、实验要求:
1、能够根据实验题目要求设计相应的类;
2、能够根据需要,设计构造方法,设计成员变量;
3、根据要求创建对象,并进行信息处理。
三、实验内容:
创建学生类,然后用这个学生类创建一个学生对象。
(1)学生类:类名Student
成员变量:
变量含义 数据类型 变量名(自己定义)
学号 String
姓名 String
班级 String
数学成绩 int
物理成绩 int
成员方法:
①构造方法:实例化时对学生学号、姓名、班级进行初始化;
②分别编写学号、姓名、班级三个基本成员变量的set()方法和get()方法;
③编写显示学生的综合信息(学号、姓名、班级)方法,显示格式如下:学号:xxx 姓名:xxx 班级:xxxx;
④分别编写数学成绩、物理成绩两个成员变量的set()方法和get()方法;
⑤分别编写统计总成绩、统计平均成绩的totalScore()和averageScore()方法;
(2)要求:
① 按照题目要求创建Student类、要求包括成员变量,并按要求设计相应的方法;
② 编写一个学生管理类StudManagement,用其中的main()方法实现学生类的一个对象,从键盘分别输入数学成绩和和物理成绩,并调用它们的set()方法把成绩保存到对应成员变量中,通过调用totalScore()和averageScore()方法,以及三个基本成员变量的get()方法,显示所有信息。
③完成实验报告。
代码部分:
import java.util.Scanner; // 导入Scanner库实现控制台输入class StudManagement
{public static void main(String[] args) // 主入口函数{Scanner scanner = new Scanner(System.in); // 实例化ScannerStudent student = new Student(); // 实例化Student类student.setId("202141084097"); // 利用set()方法设置学号、姓名、班级student.setName("林鹏");student.setCalss("数科2194");System.out.println("请输入数学成绩:"); // 通过控制台分别输入数学成绩和物理成绩student.setMathScore(scanner.nextInt()); //接收控制台int类型的参数System.out.println("请输入物理成绩:");student.setPhyScore(scanner.nextInt());System.out.println("总成绩为:" + student.totalScore()); // 运用totalScore()方法获取总成绩System.out.println("平均成绩为:" + student.averageScore()); // 运用averageScore()方法获取平均成绩student.show(); // 运用show()方法获取信息}
}class Student
{private String sId; // 设置成员变量,设置sId, sName, sClass为私有只能通过set()方法和get()方法才能调用private String sName;private String sClass;public int iMathScore;public int iPhyScore;public Student(String sId, String sName, String sClass) // 定义一个含有三个参数的构造方法{this.sId = sId;this.sName = sName;this.sClass = sClass;}public Student() // 定义一个不含参数的构造方法,成员变量在没有赋值的情况下,系统会根据变量数据类型自动分配初始值{}public void setId(String sId) // 定义三个私有成员变量的set()方法,需要接收参数,没有返回值,所以返回值类型为void{this.sId = sId; // 因为形参的名字与成员变量名相同所以加this.}public void setName(String sName){this.sName = sName;}public void setCalss(String sClass){this.sClass = sClass;}public String getId() // 定义三个私有成员变量的get()方法,不需要接收参数,返回值类型均为String{return this.sId; // 有返回值,所以用return}public String getName(){return this.sName;}public String getClazz(){ return this.sClass;}public void show() // 定义show()方法,显示出所有信息{System.out.println("学号为:" + this.sId + "\t 姓名为:" + this.sName + "\t 班级为:" + this.sClass);}public void setMathScore(int iMathScore) // 定义两个共有变量的set()方法,需要接收参数,无返回值,所以返回值类型为void{this.iMathScore = iMathScore;}public void setPhyScore(int iPhyScore){ this.iPhyScore = iPhyScore;}public int getMathScore() // 定义两个共有变量的get()方法,不需要接收参数,返回值类型均为int{return this.iMathScore; // 有返回值,所以用return}public int getPhyScore(){return this.iPhyScore;}public int totalScore() // 定义一个计算数学和物理成绩的和的方法,不需要接收参数,返回值类型为int{ return (this.iMathScore + this.iPhyScore); // 有返回值,所以用return}public int averageScore() // 定义一个计算数学和物理成绩的和的平均分的方法,不需要接收参数,返回值类型为int{return (this.iMathScore + this.iPhyScore)/2; // 有返回值,所以用return }
}
运行结果:
实验小结:
实例化对象调用的方法,如果该方法无返回值类型,且输出为System.out.println(),那么在主函数中就不能在System.out.println()中调用此方法,应直接使用实例化对象.方法()的方式调用该方法。
如果想要获得一个有return值的方法的return的值,则可以在System.out.println()中调用方法,获得该值。
Java语言中类与对象的创建相关推荐
- java 对象的定义是_浅析Java编程中类和对象的定义
1,什么是类? 答:类是客观存在的,抽象的,概念的东西. 2,什么事对象? 答:对象是具体的,实际的,代表一个事物.例如:车是一个类,汽车,自行车就是他的对象. 关于类与对象的描述:类是对象的模版,对 ...
- java日常笔记、对象的创建完全是由构造方法实现的吗?this的本质
java日常笔记.对象的创建完全是由构造方法实现的吗 不完全是构造方法是创建java对象重要途径,通过new关键字调用构造器时,构造器也确实返 回了该对象,但这个对象并不是完全由构造器负责创建的,创建 ...
- java初始化实例化_Java对象的创建过程:类的初始化与实例化
一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...
- Java培训教程之对象的创建与使用
本文小千分享Java面向对象中的对象创建与使用.类是对象的抽象,为对象定义了属性和行为,但类本身既不带任何数据,也不存在于内存空间中.而对象是类的一个具体存在,既拥有独立的内存空间,也存在独特的属性和 ...
- java有一个学生对象_创建学生集合类_根据学生学号倒序排列__java学习--基础知识第九天--对象数组、集合类之ArrayList、学生管理系统案例...
今日内容介绍 u 对象数组 u 集合类之ArrayList u 学生管理系统案例 第1章 对象数组 1.1 对象数组概述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4 ...
- java语言中类定义数组赋值_在Java语言中,下列对于字符数组的定义并赋值正确的是(选一项)_学小易找答案...
[单选题]<茶花女--饮酒歌>这段音乐属于级进还是跳进的旋律? <茶花女-饮酒歌>.mp4 [简答题] [单选题]对外汉语教学中以系统讲授语言知识的一类课型,包括语音.词汇.语 ...
- 基于Java语言的面对对象进阶算法练习
主要是对面向对象基础的进一步拓展,对private,static,this等关键字的熟练掌握. 文章目录 一,编写一个类Task,代表GTA5的主线任务. 1.问题 2.代码 3.效果截图 二,通过类 ...
- Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
Java语言基础 常见对象 数组排序 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值的元素就会出现在最大索引处:以此循环 //冒泡排序:public static void main(St ...
- [渝粤教育] 中国地质大学 Java语言程序设计 复习题
<Java语言程序设计>模拟题 一.单项选择题 1.下列程序段执行后的结果是( ).String s = new String("abcdefg");for (int ...
最新文章
- OpenCV中的对极几何和对极约束
- 第1关:利用栈实现整数的十进制转八进制
- 级联模60计数器(Verilog HDL语言描述)(仿真与综合)
- Activity管理(二):adj内存管理机制
- HTML5 随机弹跳的小球
- Scikit-learn 概述
- Linux守护进程的创建(结合nginx框架)
- yaml parse python_python-yaml
- Visual Studio 2019 16.1 正式发布,更快更高效
- Java面向对象之抽象方法抽象类、接口的使用
- python必背100源代码-100行Python代码实现自动抢火车票(附源码)
- 当前日期增加自然月(比如当前时间为3月31号,加上1个月,预期结果是4月30日,但是输出了5月1日)...
- 用python编程分苹果_Python实现分苹果(递归)
- 【工控安全产品】工控主机卫士
- 有哪些wordpress企业网站主题推荐?
- 算法面试题-用单向链表表示十进制整数,求两个正整数之和。1234+34=1268
- STM32F429i disco 体验
- 运维工程师主要做什么_弱电工程IT运维工作到底是做什么的?
- JavaWeb:(二)HTML
- python公众号留言功能_搭建hexo博客给公众号制作留言功能
热门文章
- 蓝牙芯片|伦茨科技-智能蓝牙BLE5.2芯片ST17H66
- python基于web的安装程序_python web.py安装使用
- 有了花呗还需要办信用卡吗?
- 人工智能科技出海服务公司ADVANCE.AI助力企业开拓尼日利亚市场
- 目标检测YOLO实战应用案例100讲-基于深度学习的自动驾驶车辆三维目标检测方法研究与应用
- spring报MySQLSyntaxErrorException: Unknown error 1146
- 清默网络——我的CCIE考试经验与心得(2)
- jquery服务器文件保存到本地,jQuery本地存储
- 11. WS · HTTPDNS · FTP · 邮件
- supervision