Java笔记整理(下)

第四章


类class:

访问控制修饰符 :

  • public:任何地方
  • private:仅类内部

对于信息类数据一般用 private 存储,并设置 set/get 来更改与调用数据

成员变量、构造函数、类方法:

 参考作业《类专题练习》(知识点不难,但是代码太长了不适合放博客)

几个注意点:

  1. 局部变量与全局变量的作用范围问题
  2. 函数重载问题

继承:

关键字:extends

几个注意点:

  1. super是调用父类构造函数,故先执行父类构造函数后执行后面的语句
  2. 区分 super 和 this 指针两种传参
    前者是调用父类构造,其变量在父类中已经声明,后者变量可以在子类声明
  3. super只能写在子类构造函数的第一行(语法)

可以通过super.name和super.show()调用父类中被隐藏的name变量和show()函数

抽象类:

含有抽象方法的类必须被声明为抽象类

public abstract class Main {
     public abstract double show();
}

 抽象类必须被继承,抽象方法必须被重写,抽象方法只声明不需要实现。

无法实例化抽象类。

接口:

public interface Music{
     String name="Real life";    //所有变量默认为public static final

     public void sing();    //定义的所有方法默认为public
     public void stop();
}

一个类可以 implements 多个接口,接口可以继承接口

 

第五章


窗体JFrame:

public class Main extends JFrame {
     Main(){
          super("name");//定义窗体名字
          setSize(400,200);//设置窗体大小
          setLocation(300,100);//设置窗体位置
          setBounds(300,100,400,200);
          setVisible(true);//设置窗体可见
          setDefaultCloseOperation(EXIT_ON_CLOSE);//设置退出
          //添加组件
          validate();
     }
}

容器面板JPanel:

  1. 用于存放其他组件    add() 方法
  2. 用于确定窗体布局
  3. 常用方法(通用)
    • 背景色setBackground(Color c)
    • 前景色setForeground(Color c)

布局安排与管理:setLayout

FlowLayout(FlowLayout.left,20,40)

  • 右对齐,左右间距20,垂直间距40
  • 默认居中对齐

BordLayout:

  • 将布局分为南、北、中、东、西5部分,后定义会覆盖重定义,一个部分只能存在一个Panel
  • 未声明的默认归为中部
bn=new JButton("bn");
setLayout(new BorderLayout());
add(bn,BorderLayout.NORTH);
//add(new JButton("bn"),BorderLayout.NORTH); 等效于1、3

GridLayout:

setLayout(new GridLayout(行数,列数,行距,列距));
//行距列距可以忽略不定义

按钮JButton:

  • setText() 设置按钮内文字
  • 字体Font:bnt1.setFont(new Font("粗体",Font.BOLD,14))  //例

事件监听器Event Listener:(implements)

import java.awt.event.*

ActionListener:

应用:点击按钮、选择菜单、输入回车等操作会触发Action Event

在方法内用 e.getSource()==bn1 判断当前点击的触发事件是否属于按钮bn1。

public class Main extends JFrame implements ActionListener {
     JButton bn;
     Main(){
          //...
          bn.addActionListener(this);

     }
     public void actionPerformed(ActionEvent e){

     }
}

 单独建立一个外部类实现监听(相较内部类内部代码更长,要实现成员的初始化)

public class Main extends JFrame {
     JButton bn;
     Main(){
          //...
          bnListener handler =new bnListener();
          bn.addActionListener(handler);
     }

}
class bnListener implements ActionListener{
     public void actionPerformed(ActionEvent e){

     }
}

ItemListener:

应用:点击单选按钮、勾选复选框、在下拉框选择列表选项等操作会触发Item Event

class MyListener implements ItemListener {
     @Override
     public void itemStateChanged(ItemEvent e) {
          
     }
}

MouseListener(不考)

KeyListener(不考)

标签JLabel:

public class Main extends JFrame{
     JLabel lb;
     Main(){
          //...
          lb=new JLabel("Java");
          lb.setText("Python");
          add(lb);
          validate();
     }
}

其他组件: 

  • 文本框JTextField、密码文本框JPasswordField
  • 多行文本框JTextArea
  • 复选框(可完成多项选择)JCheckBox
      bnt1.isSelected()判断某个按钮是否选中,返回值boolean
  • 下拉列表JComboBox

 

第六章


 try-catch-finally

注意:

  1. 一个 try 后可接多个 catch
  2. catch 和 finally 都不能脱离 try 单独存在
  3. finally块不论是否正常运行都会执行
try{
     //测试代码段
}
catch(ArithmeticException e){
     //捕捉异常并输出
     e.printStackTrace();//打印异常
}
catch(Exception e){
     //捕获所有遗漏的异常
     //只能作为最后一个catch
}
finally {
    //一定会执行的句子,一般用于释放占用的资源
}

 throw:

try{
    //代码段
    if(xxx){
        throw new Exception("出错了");
    }
}
catch (Exception ex){
    //捕获异常后的处理
}

 

 

 

 

 

 

 

 

 


制作:BDT20040

posted @ 2022-01-06 13:04  流白李  阅读(75)  评论(2编辑  收藏  举报