【题目】

定义一个Student类,包含的内容如下:

成员变量:学号、姓名、数学成绩、语文成绩;

成员方法:求成绩总分,求平均分

编程实现这个类,并调用相应的方法计算总分和平均分


类和对象基本概述

1、对象

①定义:在现实世界中,是客观世界中的一个实体

在计算机世界中,是一个可表示的存储区域

②对象具有唯一性

③对象具备特征:属性、行为

2、类

①定义:具有共同属性和行为的对象集合

②属性:变量

③行为:方法

3、类是对象的抽象(模板),对象是类的实例


建立Student类

1.命名规则

类的声明:[public] class 类名{}

成员变量命名规则:[修饰符] 变量类型 变量名 = [初始值];

成员方法命名规则:返回值类型 方法名(参数列表){方法体}

2.命名规范

变量方法名:首字母小写、驼峰原则

常量:大写字母、下划线

类名:首字母大写、驼峰规则

3.成员变量相关

无论成员变量在哪声明,作用域均为整个类体

成员变量可声明赋值,也可在方法中赋值

成员变量不可以在声明和方法之间赋值

4.成员变量默认规则

//局部变量无默认初始值,使用之前要赋值

boolean——false

byte、short、int、long——0

float、double——0.0

char——空字符

引用类型——null

5.修饰符

作用域 同一个类 同一个包 子孙类 所有类
public
protected

×

friendlly(default) × ×
private × × ×

final:最终成员变量

static:静态成员变量

6.static(类变量)

类变量不属于任何一个类的具体对象

是保存在类的内存区的公共存储单元

任何一个类的对象访问它,得到的都是相同的值

任何一个类的对象修改它,都是对同意内存单元进行操作

7.实例变量

没有用static修饰的变量是实例变量,必须实例化该类才可以使用实例变量

该类的不同对象都各自拥有自身的实例变量的版本

long num ;//学号
    String name;//姓名
    int gradeMath;//数学成绩
    int gradeCh;//语文成绩
    //定义成员方法
    int total(int a,int b) {
        return (a+b);
    }
    double averge(int a,int b) {
        return((a+b)/2);
    }


建立对象(数组——数量由输入端决定)

1.创建对象

①类名 对象名

对象名 = new 类名()

②类名 对象名 = new 类名()

2.访问对象

①对象名.变量名

②对象名.方法名

Scanner sc_all = new Scanner(System.in);
        int all = sc_all.nextInt();
        //创建学生数组
        Student[] st = new Student[all];
        //创建学生对象
        for(int i=0;i<all;i++) {
            st[i] = new Student();
        }


从输入端接收信息——由学号进行演示

System.out.println("请输入该学生的学号:");
            System.out.println("学号即为序号,请勿超过之前所输入的人数(从1开始)");
            Scanner sc_num = new Scanner(System.in);
            st[i].num = sc_num.nextLong();

//i由for循环定义


从输入端接收学号,并输出相应数据——由总成绩进行演示

System.out.println(st[search].total(st[search].gradeMath, st[search].gradeCh));


全部代码

1.Student类

public class Student { //定义成员变量long num ;//学号String name;//姓名int gradeMath;//数学成绩int gradeCh;//语文成绩//定义成员方法int total(int a,int b) {return (a+b);}double averge(int a,int b) {return((a+b)/2);}
}

2.text类

import java.util.Scanner;public class text {public static void main(String[] args) {System.out.println("请先输入相关信息");System.out.println("请输入想要输入信息的人数:");Scanner sc_all = new Scanner(System.in);int all = sc_all.nextInt();//创建学生数组Student[] st = new Student[all];//创建学生对象for(int i=0;i<all;i++) {st[i] = new Student();}//输入信息部分for(int i=0;i<all;i++) {//输入学号System.out.println("请输入该学生的学号:");System.out.println("学号即为序号,请勿超过之前所输入的人数(从1开始)");Scanner sc_num = new Scanner(System.in);st[i].num = sc_num.nextLong();//输入姓名System.out.println("请输入该学生的姓名:");Scanner sc_name = new Scanner(System.in);st[i].name = sc_name.next();//输入数学成绩System.out.println("请输入该学生的数学成绩:");Scanner sc_gradeMath = new Scanner(System.in);st[i].gradeMath = sc_gradeMath.nextInt();//输入语文成绩System.out.println("请输入该学生的语文成绩:");Scanner sc_gradeCh = new Scanner(System.in);st[i].gradeCh = sc_gradeCh.nextInt();//由输入端判断循环是否结束System.out.println("若结束信息输入输入1,若继续输入2:");Scanner sc_pd = new Scanner(System.in);int pd = sc_pd.nextInt();if(pd==1) {break;}}//根据学号查询信息部分System.out.println("请输入查询学生的学号");Scanner sc_search = new Scanner(System.in);int search = sc_search.nextInt()-1;System.out.println(st[search].total(st[search].gradeMath, st[search].gradeCh));System.out.println(st[search].averge(st[search].gradeMath, st[search].gradeCh));}}

运行结果

请先输入相关信息
请输入想要输入信息的人数:
2
请输入该学生的学号:
学号即为序号,请勿超过之前所输入的人数(从1开始)
1
请输入该学生的姓名:
a
请输入该学生的数学成绩:
150
请输入该学生的语文成绩:
150
若结束信息输入输入1,若继续输入2:
1
请输入查询学生的学号
1
300
150.0

【homework】类与对象的基础应用(Student类)相关推荐

  1. java组合类,对象组合,定义一个点类,将圆的圆心用点类的对象表示,则圆类定义为一个组合类,仍然能计算圆的面积和周长,并能对圆进行移动。

    对象组合的概念 如果一个对象中的域是其他类的对象,则称这个对象是组合对象,组合对象所在的类是组合类.例如计算机是由其他部件(对象)组成的.通过组合的方式,可以简化对象的创建过程,提高对象的创建效率.从 ...

  2. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  3. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  4. 【Java 19】反射 - 反射机制概述、获取Class实例、类的加载与ClassLoader的理解、创建运行时类的对象、获取运行时类的完整结构、调用运行时类的指定结构、动态代理

    反射机制概述.获取Class实例.类的加载与ClassLoader的理解.创建运行时类的对象.获取运行时类的完整结构.调用运行时类的指定结构.动态代理 反射 1 Java反射机制概述 1.1 Java ...

  5. 类与对象——python基础datawhale组队学习

    类与对象 1. 对象 = 属性 + 方法 对象是类的实例.换句话说,类主要定义对象的结构,然后我们以类为模板创建对象.类不但包含方法定义,而且还包含所有实例共享的数据. 封装:信息隐蔽技术 我们可以使 ...

  6. (四)nodejs循序渐进-函数,类和对象(基础篇)

    上一篇文章讲到了基本数据类型和运算符,相信大家都能做简单的运算,本篇文章将讲述函数,类,对象. 函数 在nodejs中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递 ...

  7. java类和对象的基础(笔记)

    在Java类的设计中,有时希望一个类在任何时候只能有一个实例.这时可以将该类设计为单例模式(singleton).要将一个类设计为单例模式,需要把类的构造方法的访问修饰符声明为private,然后在类 ...

  8. 6.java中什么是类_类、对象(java基础知识六)

    1.Java约定俗成 java约定俗成1,类名接口名 一个单词首字母大写,多个单词每个单词首字母都大写2,方法名和变量名 一个单词全部小写,多个单词从第二个单词首字母大写 建议:如果能用英语尽量用英语 ...

  9. java类和对象的基础特性

    目录 点击传送>>> 前言: 1.面向对象概述 2.类和对象 1.对象 2.类 3.类的定义格式 1.成员变量(静态部分) 2.成员方法(动态部分) 3.实例化 3.权限修饰符 1. ...

  10. OC基础语法(1)—类和对象OC基础语法…

    01-第一个OC程序 //  main.m #include #import #import "One.h" #import "Two.h" // OC和C语言 ...

最新文章

  1. python拿来干嘛-Python是什么 Python的用处
  2. python文件运行问题
  3. VS2013导入opencv320配置属性文件
  4. 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
  5. [读书笔记]鸟哥的LINUX私房菜 十三章 shell scripts
  6. flask get 参数_Python web 用它5分钟以后,我放弃用了四年的 Flask
  7. 寻找指定型别的父控件
  8. [渝粤教育] 九江学院 妇产科护理学 参考 资料
  9. 日光能和电池两用计算机,为什么太阳照射的光可以给太阳能转化为电,而我们的日光灯却不行?...
  10. 首席架构师的领导力和管理能力
  11. 60后刘备聘用80后诸葛亮的启示
  12. 【IoT】5.Business Strategy 商业战略
  13. 计算机python实验报告_Python实验报告六:函数
  14. 《Context Contrasted Feature and Gated Multi-Scale Aggregation for Scene Segmentation》论文阅读
  15. 【防火墙篇】01. 映射 Web 服务器 ❀ WatchGuard 防火墙
  16. 【python】小技巧-判断一个字典中是否包含另一个字典的值,即实际结果中是否包含预期结果
  17. echarts中国地图散点实现自定义动画
  18. linux开机自动挂载群晖,群辉开机加载磁盘分区引导脚本
  19. 互联网日报 | 6月21日 星期一 | 小米成立手机电影工作室;每日优鲜零售云业务正式亮相;高德打车上线助老暖心车站...
  20. cannot be cast to linux 环境,[Redis] ** cannot be cast to java.lang.String

热门文章

  1. 论文翻译——Skin Lesion Synthesis with Generative Adversarial Networks
  2. 工作缺点和不足及措施_个人工作存在的不足和改进措施_个人工作存在问题和整改方案...
  3. 微软Win8Server2012各版本安装密匙序列号
  4. Delphi为什么都不用了?公司CTO不向老板推荐使用Delphi的13 个真实原因
  5. 网口扫盲三:以太网芯片MAC和PHY的关系
  6. 计算机DNS怎么配置,dns设置,教您怎么设置dns地址
  7. Ubuntu设置dns
  8. EasyExcel模板数据填充
  9. 公司企业邮箱开通使用,收不到邮件怎么办?
  10. 简单易懂的现代魔法——Play Framework攻略2