• 冯志霞201771010107《面向对象程序设计(java)》第十八周学习总结


    实验十八  总复习

    实验时间 2018-12-30

    1、实验目的与要求

    (1) 综合掌握java基本程序结构;

    (2) 综合掌握java面向对象程序设计特点;

    (3) 综合掌握java GUI 程序设计结构;

    (4) 综合掌握java多线程编程模型;

    (5) 综合编程练习。

    2、实验内容和步骤

    任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

    任务2:综合编程练习

    练习1:设计一个用户信息采集程序,要求如下:

    (1)  用户信息输入界面如下图所示:

    (1)用户点击提交按钮时,用户输入信息显示控制台界面;

    (2)用户点击重置按钮后,清空用户已输入信息;

    (3)点击窗口关闭,程序退出。

    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.BorderFactory;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    
    
    public class A extends JFrame{
        private JPanel panel1;
        private JPanel panel2;
        private JPanel panel3;
        private JPanel panel4;
        //private JLabel label;
        private  JComboBox jComboBox;
        private JTextField jTextField;
        private JTextArea textArea;
        private JCheckBox checkBox1;
        private JCheckBox checkBox2;
        private JCheckBox checkBox3;
        private JRadioButton radioButton1;
        private JRadioButton radioButton2;
        private JButton button1;
        private JButton button2;
        private  ButtonGroup buttonGroup;
        private Object submit;
        public A(){
            //初始化
            this.setVisible(true);
            this.setSize(800, 450);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            panel1=new JPanel();
            panel2=new JPanel();
            panel3=new JPanel();
            panel4=new JPanel();
            setPanel1(panel1);
            setPanel2(panel2);
            setPanel3(panel3);
            setPanel4(panel4);
            
            FlowLayout flowLayout = new FlowLayout();
            this.setLayout(flowLayout);
            
            
            this.add(panel1);
            this.add(panel2);
            this.add(panel3);
            this.add(panel4);
            
        }
        
        private void setPanel1(JPanel panel) {
            
            panel.setLayout(new GridLayout(1, 4));
            panel.setPreferredSize(new Dimension(700, 45));
            
            JLabel label1= new JLabel("Name:",JLabel.CENTER);
            
            jTextField = new JTextField(" ");
        
            JLabel jLabel2 = new JLabel("Qualification:",JLabel.CENTER);
            //jLabel2.setSize(80, 40);
            jComboBox=new JComboBox();
            jComboBox.addItem("本科");
            
            jComboBox.addItem("研究生");
            jComboBox.addItem("博士生");
            
            
            panel.add(label1);
            panel.add(jTextField);
            panel.add(jLabel2);
            
            panel.add(jComboBox);
            
        }
        
        
    
        private void submit() {
            // TODO Auto-generated method stub
            String s1=jTextField.getText().toString().trim();
            String s2=textArea.getText().toString().trim();
            String s3=jComboBox.getSelectedItem().toString().trim();
            String s4=" ";
            System.out.println(s1);
            System.out.println(s2);
            System.out.println(s3);
             if(radioButton1.isSelected()) {
                 System.out.println("boy");
                 
             }
             if(radioButton2.isSelected()) {
                 System.out.println("gril");
             }
            if(checkBox1.isSelected()) {
                
                s4+="Sing ";
                
            }
            if(checkBox2.isSelected()) {
                s4+="Dance ";
                
            }
             if(checkBox3.isSelected()) {
                 s4+="Draw ";
                
             }
             System.out.println(s4);
            
        }
    
        private void setPanel3(JPanel panel) {
            // TODO Auto-generated method stub
            //String sex = new JLabel(sex, JLabel.CENTER);
        panel.setPreferredSize(new Dimension(700, 150));
            //panel.setLayout(new GridLayout(1, 2));
            JLabel sex = new JLabel("sex:", JLabel.CENTER);
            JPanel selectBox = new JPanel();
            selectBox.setPreferredSize(new Dimension(300, 100));
            FlowLayout flowLayout = new FlowLayout();
            panel.setLayout(flowLayout);
            
            selectBox.setBorder(BorderFactory.createTitledBorder(""));
            selectBox.setLayout(new GridLayout(2, 1));
         buttonGroup = new ButtonGroup();
            radioButton1=new JRadioButton("boy");
            radioButton2=new JRadioButton("gril");
            buttonGroup.add(radioButton1);
            buttonGroup.add(radioButton2);
            selectBox.add(radioButton1);
            selectBox.add(radioButton2);
            panel.add(sex);
            panel.add(selectBox);
        
            
            
        }
        private void setPanel2(JPanel panel) {
            // TODO Auto-generated method stub
            panel.setPreferredSize(new Dimension(700, 80));
            panel.setLayout(new GridLayout(1, 4));
            JLabel jLabel = new JLabel("Address:",JLabel.CENTER);
            textArea=new JTextArea();
            //textArea.setPreferredSize(new Dimension(80, 60));
            Label label2 = new Label("              Hobby: ", JLabel.CENTER);
            JPanel selectBox = new JPanel();
            selectBox.setBorder(BorderFactory.createTitledBorder(""));
            selectBox.setLayout(new GridLayout(3, 1));
            checkBox1=new JCheckBox("Sing");
            checkBox2=new JCheckBox("Dance");
            checkBox3=new JCheckBox("Draw");
            selectBox.add(checkBox1);
            selectBox.add(checkBox2);
            selectBox.add(checkBox3);
            
            panel.add(jLabel);
            panel.add(textArea);
            
            panel.add(label2);
            panel.add(selectBox);
        }
        
        private void setPanel4(JPanel panel) {
            // TODO Auto-generated method stub
            panel.setPreferredSize(new Dimension(750, 50));
            button1=new JButton("submit");
            button2=new JButton("reset");
            FlowLayout flowLayout = new FlowLayout();
        //panel.set
            panel.setLayout(flowLayout);
            panel.add(button1);
            panel.add(button2);
            button1.addActionListener((e) -> submit());
            button2.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    jTextField.setText(null);
                    textArea.setText(null);
                    jComboBox.setSelectedIndex(0);
                    checkBox1.setSelected(false);
                    checkBox2.setSelected(false);
                    checkBox3.setSelected(false);
                    buttonGroup.clearSelection();
                    
                }
            });
        }
        
        
    }
    

      

    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    
    
    
    public class b {
        public static void main(String[] args) {
              
              EventQueue.invokeLater(() ->{
                  
                
                  A page=new A();
              });
        }
        
    }
    

      

    练习2:采用GUI界面设计以下程序:

    l  编制一个程序,将身份证号.txt 中的信息读入到内存中;

    l  按姓名字典序输出人员信息;

    l  查询最大年龄的人员信息;

    l  查询最小年龄人员信息;

    l  输入你的年龄,查询身份证号.txt中年龄与你最近人的姓名、身份证号、年龄、性别和出生地;

    l  查询人员中是否有你的同乡。

    l  输入身份证信息,查询所提供身份证号的人员信息,要求输入一个身份证数字时,查询界面就显示满足查询条件的查询结果,且随着输入的数字的增多,查询匹配的范围逐渐缩小。

    import java.io.BufferedReader;
     
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    //import java.util.Arrays;
    import java.util.Collections;
    import java.util.Scanner;
    import java.util.TimerTask;
     
    //import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
     
    public class c extends JFrame {
        private static ArrayList studentlist;
        private static ArrayList<Student> list;
        private JPanel buttonPanel;
     //   private JPanel panel;
         
        Scanner scanner = new Scanner(System.in);
        
        public c() {
             studentlist = new ArrayList<>();
                
                 
       //    Timer timer=new Timer();
             JTextArea jt = new JTextArea();
             jt.setBounds(300, 100, 800, 600);
             buttonPanel = new JPanel();
            
             JButton jButton = new JButton("字典排序");
             JButton jButton1 = new JButton("年龄最大和年龄最小");
             JLabel lab = new JLabel("猜猜你的老乡");
             JTextField jt1 = new JTextField();
             JLabel lab1 = new JLabel("找找同龄人(年龄相近):");
             JTextField jt2 = new JTextField();
             JLabel lab2 = new JLabel("输入你的身份证号码:");
             JTextField jt3 = new JTextField();
             JButton jButton2 = new JButton("退出");
            buttonPanel. setLayout(null);
             jButton.setBounds(0, 50, 100, 30);
             jButton1.setBounds(0, 100, 160, 30);
             lab2.setBounds(0, 200, 100, 30);
             lab.setBounds(0, 150, 150, 30);
             jt1.setBounds(150, 150, 100, 30);
             lab1.setBounds(0, 250, 150, 30);
             jt2.setBounds(100, 250, 160, 30);
             jt3.setBounds(100, 200, 160, 30);
             jButton2.setBounds(0, 300, 60, 30);
             buttonPanel.add(jButton);
             buttonPanel.add(jButton1);
             buttonPanel.add(lab);
             buttonPanel.add(jt1);
             buttonPanel.add(lab1);
             buttonPanel.add(jt2);
             buttonPanel.add(lab2);
             buttonPanel.add(jt3);
             buttonPanel.add(jButton2);
             add(buttonPanel);
             buttonPanel.add(jt);
            
            try {
                 
                BufferedReader in = new BufferedReader(new FileReader("身份证号.txt"));
                String temp = null;
                while ((temp = in.readLine()) != null) {
     
                    Scanner linescanner = new Scanner(temp);
     
                    linescanner.useDelimiter(" ");
                    String name = linescanner.next();
                    String number = linescanner.next();
                    String sex = linescanner.next();
                    String age = linescanner.next();
                    String province = linescanner.nextLine();
                    Student student = new Student();
                    student.setName(name);
                    student.setnumber(number);
                    student.setsex(sex);
                    int a = Integer.parseInt(age);
                    student.setage(a);
                    student.setprovince(province);
                    studentlist.add(student);
     
                }
            } catch (FileNotFoundException e) {
                System.out.println("学生信息文件找不到");
                e.printStackTrace();
            } catch (IOException e) {
                System.out.println("学生信息文件读取错误");
                e.printStackTrace();
            }
        
             
        jButton.addActionListener(new ActionListener() {
                  
              public void actionPerformed(ActionEvent e) {
                     jt.setText(null);
                    Collections.sort(studentlist);
                   jt.setText(studentlist.toString());
                   // jt.append(studentlist.toString());
                }
                  
            });
            jButton1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    int max = 0, min = 100;
                    int j, k1 = 0, k2 = 0;
                    for (int i = 1; i < studentlist.size(); i++) {
                        j = ((Student) studentlist.get(i)).getage();
                        if (j > max) {
                            max = j;
                            k1 = i;
                        }
                        if (j < min) {
                            min = j;
                            k2 = i;
                        }
     
                    }
                    jt.setText("年龄最大:" + studentlist.get(k1) + "年龄最小:" + studentlist.get(k2));
                }
            });
            jButton2.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    dispose();
                    System.exit(0);
                }
            });
            jt1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String find = jt1.getText();
                    String text="";
                    String place = find.substring(0, 3);
                    for (int i = 0; i < studentlist.size(); i++) {
                        if (((Student) studentlist.get(i)).getprovince().substring(1, 4).equals(place)) {
                            text+="
    "+studentlist.get(i);
                            jt.setText("老乡:" + text);
                        }
                    }
                }
            });
            jt2.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String yourage = jt2.getText();
                    int a = Integer.parseInt(yourage);
                    int near = agenear(a);
                    int value = a - ((Student) studentlist.get(near)).getage();
                    jt.setText("年龄相近:" + studentlist.get(near));
                }
            });
            jt3.addKeyListener(new KeyAdapter() {
              
                
                    public void keyTyped(KeyEvent e) {
                    list = new ArrayList<>();
                    Collections.sort(studentlist);
                    String key = jt3.getText();
                    for (int i = 1; i < studentlist.size(); i++) {
                        if (((Student) studentlist.get(i)).getnumber().contains(key)) {                        
                            list.add((Student) studentlist.get(i));                        
                            jt.setText("你可能是:
    " + list);
                             
                             
                        }                    
                    }
                }
     
            });
           
           
             
             
          
        }
     
        public static int agenear(int age) {
            int min = 53, value = 0, k = 0;
            for (int i = 0; i < studentlist.size(); i++) {
                value = ((Student) studentlist.get(i)).getage() - age;
                if (value < 0)
                    value = -value;
                if (value < min) {
                    min = value;
                    k = i;
                }
            }
            return k;
        }
        
     
        }
    

      

    public  class Student  implements Comparable<Student> {
     
        private String name;
        private String number ;
        private String sex ;
        private int age;
        private String province;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getnumber() {
            return number;
        }
        public void setnumber(String number) {
            this.number = number;
        }
        public String getsex() {
            return sex ;
        }
        public void setsex(String sex ) {
            this.sex =sex ;
        }
        public int getage() {
     
            return age;
            }
            public void setage(int age) {
                
            this.age= age;
            }
     
        public String getprovince() {
            return province;
        }
        public void setprovince(String province) {
            this.province=province ;
        }
     
        public int compareTo(Student o) {
           return this.name.compareTo(o.getName());
        }
     
        public String toString() {
            return  name+"	"+sex+"	"+age+"	"+number+"	"+province+"
    ";
        }
         
    }
    

      

    import java.awt.*;
    import javax.swing.*;
      
    /**
     * @version 1.34 2015-06-12
     * @author Cay Horstmann
     */
    public class e
    {
       public static void main(String[] args)
       {
          EventQueue.invokeLater(() -> {
             JFrame frame = new c();
             frame.setTitle("查询");
             frame.setBounds(50, 50, 500, 500);
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             frame.setVisible(true);
          });
       }
    }
    

      

    练习3:采用GUI界面设计以下程序

    l  编写一个计算器类,可以完成加、减、乘、除的操作

    l  利用计算机类,设计一个小学生100以内数的四则运算练习程序,由计算机随机产生10道加减乘除练习题,学生输入答案,由程序检查答案是否正确,每道题正确计10分,错误不计分,10道题测试结束后给出测试总分;

    l  将程序中测试练习题及学生答题结果输出到文件,文件名为test.txt。

    import java.awt.Button;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.util.Collections;
    import java.util.Scanner;
     
    import javax.swing.*;
     
    import java.math.*;
     
     
    public class jisuanqi extends JFrame {
         
        private String[] c=new String[10];
        private String[] c1=new String[10];
        private int[] list=new int[10];
        int i=0,i1=0,sum = 0;
        private PrintWriter out = null;
        private JTextArea text,text1;
        private int counter;
         
        public jisuanqi()  {
            JPanel Panel = new JPanel();
            Panel.setLayout(null);
            JLabel JLabel1=new JLabel("");
            JLabel1.setBounds(500, 800, 400, 30);
            //JLabel1.setFont(new Font("Courier",Font.PLAIN,35));
            JButton Button = new JButton("生成题目");
            Button.setBounds(50,150,150,50);
          //  Button.setFont(new Font("Courier",Font.PLAIN,20)); 
            Button.addActionListener(new Action());
            JButton Button2 = new JButton("确定答案");
            Button2.setBounds(300,150,150,50);
           // Button2.setFont(new Font("Courier",Font.PLAIN,20));
            Button2.addActionListener(new Action1());
            JButton Button3 = new JButton("读出文件");
            Button3.setBounds(500,150,150,50);
            Button3.setFont(new Font("Courier",Font.PLAIN,20));
            Button3.addActionListener(new Action2());
             text=new JTextArea(30,80);text.setBounds(30, 50, 200, 50);
             text.setFont(new Font("Courier",Font.PLAIN,35));
             text1=new JTextArea(30,80);
             text1.setBounds(270, 50, 200, 50);
             text1.setFont(new Font("Courier",Font.PLAIN,35));
     
             Panel.add(text);
             Panel.add(text1);
     
             Panel.add(Button);
             Panel.add(Button2);
             Panel.add(Button3);
             Panel.add(JLabel1);
             add(Panel);
              
              
              
     
     
                
                       
        }
         
        private class Action implements ActionListener
        {
        public void actionPerformed(ActionEvent event)
        
            {        
            text1.setText("");
            if(i<10) {
             
            int a = 1+(int)(Math.random() * 99);
            int b = 1+(int)(Math.random() * 99);
            int m= (int) Math.round(Math.random() * 3);
          switch(m)
          {
          case 0:
              while(a<b){  
                  b = (int) Math.round(Math.random() * 100);
                  a = (int) Math.round(Math.random() * 100); 
              }  
              c[i]=(i+":"+a+"/"+b+"=");
              list[i]=Math.floorDiv(a, b);
              text.setText(i+":"+a+"/"+b+"=");
              i++;   
              break; 
          case 1:
              c[i]=(i+":"+a+"*"+b+"=");
                    list[i]=Math.multiplyExact(a, b);
                    text.setText(i+":"+a+"*"+b+"=");        
               i++;
              break;
           case 2:
              c[i]=(i+":"+a+"+"+b+"=");
                    list[i]=Math.addExact(a, b);
              text.setText(i+":"+a+"+"+b+"=");
              i++;
              break ;
          case 3:
              while(a<=b){  
                  b = (int) Math.round(Math.random() * 100);
                  a = (int) Math.round(Math.random() * 100); 
              }    
              c[i]=(i+":"+a+"-"+b+"=");
              text.setText(i+":"+a+"-"+b+"=");
              list[i]=Math.subtractExact(a, b);
              i++;
              break ;
              }
            }
          }
        }      
        private class Action1 implements ActionListener
        {
            public void actionPerformed(ActionEvent event)
            {    
                if(i<10) {
                    text.setText(null);        
                    String daan=text1.getText().toString().trim();
                    int a = Integer.parseInt(daan);
                    if(text1.getText()!="") {
                        if(list[i1]==a) sum+=10;
                    }        
                    c1[i1]=daan;
                    i1++; 
                }
            }
        }      
         
     
        private class Action2 implements ActionListener
        {
            public void actionPerformed(ActionEvent event)
                {
              
                try {
                    out = new PrintWriter("text.txt");
                } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                for(int counter=0;counter<10;counter++)
                {
                    out.println(c[counter]+c1[counter]);
                }
                out.println("成绩"+sum);
                out.close();
     
                }
     
        }   
    }
    

      

    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Toolkit;
     
    import javax.swing.JFrame;
     
    public class yunsuan {
     
         public static void main (String args[])
            {
                 Toolkit t=Toolkit.getDefaultToolkit();
                Dimension s=t.getScreenSize(); 
                EventQueue.invokeLater(() -> {
                    JFrame frame = new jisuanqi();
                    frame.setBounds(0, 0,(int)s.getWidth()/2,(int)s.getHeight()/2);
                     
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                 });        
            }
      
    }
    

      

    任务3:本学期课程已结束,请汇总《面向对象程序设计课程学习进度条》的数据,统计个人专业能力提升的数据。并从学习内容、学习方法、学习心得几个方面进行课程学习总结,也希望你对课程的不足提出建议和意见。

    Java 学习总结:

    一二章:Java特点及其开发环境的配置

    第三章:

    • 原始数据类型

    整型(int),浮点型(double),布尔型(Boolean),字符型(char)
    每个变量都有自己的类型并存储了一个合法的值
    用+,-,*,/,!,&& ,||,^等运算符来实现对各种类型的操作。

    • 数组

    数组能够顺序存储相同类型的多个数据。
    数组的起始索引是0。这个习惯来源于机器语言,计算一个数组元素的地址需要将数组的起始地址加上该元素的索引,第一个元素的地址 就是数组的起始地址。
    过程:
    1. 声明数组。数组名是整个数组的引用。
    2. 创建数组。数组一经创建,大小就是固定的。
    3. 初始化数组。int默认初始值为0,double默认初始值0.0,boolean默认初始值false。

    • 字符串

    字符串是由一串字符(char)组成的。
    在创建并赋值字符串时:

    String s1, s2;
    s1 = new String("abc");
    s2 = "abc";123

    • 变量

    实例变量:为该类的对象保存了数据类型的值。作用域是整个对象。
    静态变量:由static修饰,该类的所有对象所共享,是类级别的变量。作用域为类的所有对象。
    参数变量:由方法的签名定义,在方法被调用时参数方法会被初始化为调用者提供的值。作用域是整个方法。
    局部变量:在方法的主体中定义。作用域是从被定义之后到方法结束。

    • 方法

    方法封装了由一系列语句所描述的运算。
    构造方法:名称与类名相同。作用是初始化实例变量,每个构造函数都将创建一个对象并向调用者返回一个该对象的应用。
    实例方法:描述了对象的行为,可以访问和操作静态变量和实例变量。通过实例才能调用。
    静态方法:由static修饰,是一组在被调用时会被顺序执行的语句。可以通过类直接调用,只能访问操作类中静态变量,不能访问实例变量。

    库大多数是静态方法库,也有部分是数据类型的定义并包含了一些静态方法。
    可以自己定义库,也可以使用外部库。
    用import导入库。

    • 抽象数据类型

    数据类型:一组值和一组对这些值的操作的集合。
    数据抽象:定义和使用数据类型的过程。
    Java编程的基础主要是使用class关键字构造被称为引用类型的数据类型。这种编程风格称为面向对象编程。
    抽象数据类型:ADT,一种能够对使用者隐藏数据表示的数据类型。它将数据和函数的实现相关联,并将数据的表示方式隐藏起来。
    数据类型定义的基础是一组值的集合,但在API可见的仅是对它们的操作,而非它们的意义。

    使用Java的类(class)实现抽象数据类型。
    首先要定义表示数据类型的值的实例变量。之后是实现对数据类型的值的操作的构造函数和实例方法。


    第四五六章:类,继承,接口

     

    接口的关键字:interface  

    接口格式:interface  接口名  {    }

    实现接口的关键字是:implements  表示

    实现接口的格式:class  类名   implements   接口名  {   }

    接口的作用:扩展功能、定义约束来规范、程序解耦合性。

      重点:

    接口本身就是一个特殊的类;

    接口不能实例化(不能new,但是可是使用多态去进行实例化);

    接口的子类可以是抽象类,也可以是具体类(重写接口类里的所有方法);

    接口的成员变量(默认是常量):

    成员特点:只能是常量,并且是静态,因为默认情况下接口成员变量的修饰符是:public static final;

    构造方法:接口没有构造方法;

     成员方法:只能是抽象方法,其中默认修饰符是:public abstract       

    注意:

    接口不能创建对象;

    接口没有构造方法;

    因为接口是提供给类使用,当非抽象类去实现一个接口时,必须把接口中所有方法都实现。

    第13章

    Java应用程序部署  

    (第14章)

     — Java异常处理编程模型    —  Java GUI编程模型  Java并发程序设计) 

    Thread的子类创建线程的关键操作 

    设计Thread的子类,重写父类的run方法 

    用Thread类或子类创建线程对象   

    使用start方法启动线程 

    通过Runnable接口实现多线程的关键操作:

     设计一个实现Runnable接口的类,重写run方法; 

    以该类的对象为参数建立Thread类的对象; 

    调用Thread类对象的start方法启动线程,将执行 权转交到run方法。 

    本学期对java的学习也是蛮辛苦的,现在回头看看学习java的过程也是很丰富,老师找的助教给我们帮了很大的忙,就是上课过程挺枯燥的,要是上课不单单是听,而是去实验室上课老师边讲我们边做验证,可能效果好一点,也没有那么乏味。老师每周布置得作业也很有必要,虽然有时量有一点点大,但这些都是学习过程中不可让避免的。所以谢谢老师和助教的辛勤付出

  • 相关阅读:
    杭电2048--神、上帝以及老天爷
    杭电1012--u Calculate e
    杭电2049--不容易系列之(4)——考新郎
    杭电2045--不容易系列之(3)—— LELE的RPG难题
    Truncate Table user
    Sql server统计查询语句消耗时间
    C/C++:Unions 联合
    NYOJ 27 水池数目
    OpenRisc-39-ORPSoC,or1200的memory hierarchy整体分析
    RCP打包出来 运行 出现 JVM terminated.exit code = 13
  • 原文地址:https://www.cnblogs.com/fzx201626/p/10199390.html
Copyright © 2020-2023  润新知