自学JAVA-4:方法、对象、类、属性


类:具有相同属性和行为的一组对象和行为。

对象:对象是存在的具体实体,具有明确定义的特征和行为。

方法:就是对象的具体行为。

属性:就是对象的具体特征。

类是对象的抽象,对象是类的实例。

简单举例:
类:Person
属性: eyes mouth
方法:fuck

Person类就表示一个对象或者是一类对象 这里就是指“人”。
人都有眼睛、嘴巴,这些就是人的属性。
人能够做什么? 答: fuck fuck()方法就是人可以做什么。
就是这个对象的动作,方法中就是这个动作会产生什么样的效果。

方法的作用:

1、分而治之。将复杂的功能作分解,每个部分都实现简单的业务。达到功能明确,逻辑清晰的效果。
2、重用。方法定义了之后,通过多次调用达到代码重复使用的效果。

方法重载:在同一个类中,有两个以上的方法,方法名相同,参数列表不同(参数类型、参数个数、参数顺序),调用时会根据方法的参数,来决定执行哪个方法。

  1 import javax.swing.JOptionPane;
  2 
  3 public class StudentSystem {
  4     public static void main(String[] args) {
  5         // 学生管理系统:要求实现登陆,学生信息的添加、显示,删除,修改,查询,排序,退出功能。
  6         JOptionPane.showMessageDialog(null, "欢迎光临学生管理系统");
  7         if (StudentMessage.login() == false) {
  8             JOptionPane.showMessageDialog(null, "非法用戶");
  9             System.exit(0);
 10         }
 11         while (true) {
 12             String item = JOptionPane.showInputDialog(null, "1、添加
2、显示
3、删除
4、查找
5、修改
6、排序
7、退出");
 13             switch (item) {
 14             case "1":
 15                 StudentMessage.add();
 16                 break;
 17             case "2":
 18                 StudentMessage.show();
 19                 break;
 20             case "3":
 21                 StudentMessage.delete();
 22                 break;
 23             case "4":
 24                 StudentMessage.find();
 25                 break;
 26             case "5":
 27                 StudentMessage.update();
 28                 break;
 29             case "6":
 30                 StudentMessage.rank();
 31                 break;
 32             case "7":
 33                 System.exit(0);
 34                 break;
 35             }
 36         }
 37     }
 38 
 39 }
 40 
 41 class StudentMessage {
 42     // 学号
 43     public int code;
 44     // 姓名
 45     public String name;
 46     // 成绩
 47     public int grade;
 48 
 49     // 学生信息数组
 50     public static StudentMessage[] message = new StudentMessage[200];
 51 
 52     // 统计用户输入的人数
 53     public static int count = 0;
 54 
 55     // 登陆
 56     public static boolean login() {
 57         for (int i = 0; i < 3; i++) {
 58             String userName = JOptionPane.showInputDialog(null, "请输入用户名");
 59             String pwd = JOptionPane.showInputDialog(null, "请输入密码    ");
 60             if (userName.equals("java") && pwd.equals("12345")) {
 61                 return true;
 62             } else {
 63                 JOptionPane.showMessageDialog(null, "用户名或密码错误");
 64             }
 65         }
 66         return false;
 67     }
 68 
 69     // 添加
 70     public static void add() {
 71         StudentMessage x = new StudentMessage();
 72         x.code = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入学号"));
 73         x.name = JOptionPane.showInputDialog(null, "请输入姓名");
 74         x.grade = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入成绩"));
 75         message[count] = x;
 76         count++;
 77     }
 78 
 79     // 显示
 80     public static void show() {
 81         String s = "学号     姓名    成绩
";
 82         for (int i = 0; i < count; i++) {
 83             s += message[i].code + "     " + message[i].name + "     " + message[i].grade + "
";
 84         }
 85         JOptionPane.showMessageDialog(null, s);
 86     }
 87 
 88     // 按姓名查找,如果没有找到,则返回-1
 89     public static int findByName() {
 90         String name = JOptionPane.showInputDialog(null, "请输入姓名");
 91         for (int i = 0; i < count; i++) {
 92             if (message[i].name.equals(name)) {
 93                 return i;
 94             }
 95         }
 96         JOptionPane.showMessageDialog(null, "没有找到该学生");
 97         return -1;
 98     }
 99 
100     // 删除
101     public static void delete() {
102         int index = findByName();
103         if (index != -1) {
104             for (int i = index; i < count - 1; i++) {
105                 message[i] = message[i + 1];
106             }
107             count--;
108             show();
109         }
110     }
111 
112     // 查找
113     public static void find() {
114         int index = findByName();
115         if (index != -1) {
116             JOptionPane.showMessageDialog(null,
117                     "学号:" + message[index].code + "     姓名:" + message[index].name + "     成绩:" + message[index].grade);
118         }
119     }
120 
121     // 修改
122     public static void update() {
123         int index = findByName();
124         if (index != -1) {
125             message[index].code = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入学号"));
126             message[index].name = JOptionPane.showInputDialog(null, "请输入姓名");
127             message[index].grade = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入成绩"));
128             show();
129         }
130     }
131 
132     // 排序
133     public static void rank() {
134         for (int i = 0; i < count - 1; i++) {
135             for (int j = i + 1; j < count; j++) {
136                 if (message[i].grade < message[j].grade) {
137                     StudentMessage x = message[i];
138                     message[i] = message[j];
139                     message[j] = x;
140                 }
141             }
142         }
143         show();
144     }
145 }
示例
原文地址:https://www.cnblogs.com/LYL6868/p/8681938.html