栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java复习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java复习笔记

1,java语言中,main方法的写法是固定的,不可以更改。

2,整数类型long类型变量在进行赋值时必须要加L或l,否则不被认为是long类型。

3,八进制表示法,必须是以零0开头。

   十六进制表示法,必须是以0X或0x开头的。

4,浮点类型float类型变量在进行赋值时必须要加F或f,否则系统自动将其定义为double类型。

   Double类型的变量其后可以加也可以不加D或d。

5,字符类型的必须单个字符用单引号 字符串用双引号。

6,常量final

   变量有成员变量与局部变量。成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值在使用时必须为其初始化。

(定义一个变量就是告诉编译器这个变量的数据类型,编译器需要为此分配多少内存空间。)

7,Java里的逻辑运算符&&与&都是表示逻辑与,但是&&少一步的判断(更加的智能)。·

8,位运算符用于处理整形和字符型的操作数,对其内存的二进制码进行操作。

   与&  或|  非~  异或^   移位运算符<<  >>  >>>

9,类型转换:数据从占用内存空间较小的类型转换为占用存储空间较大的数据类型时,做自动类型转换(隐式类型转换),反之须强制类型转换(显示类型转换)。

10,foreach语句是for语句的特殊简化版本,它在遍历数组等方面为程序员提供了很大的方便。For(元素变量x:便利对象obj)

{引用了x的Java语句;}

Foreach语句中的x不需要进行初始化的。

11,字符串类常用方法

IndexOf()获取给定字符的索引值

lastIndexOf()获取最后一个符合要求的索引值

charAt()获取指定索引位置的字符

equals()比较两个字符串是否完全相同

equalsIgnoreCase()可以忽略大小写的情况下比较两个字符串是否相同

startsWith()比较是否为给定的字符串开头的

endsWith()比较是否为给定的字符串结尾的

replace()替换字符串内全部指定字符串为另一字符串

split()用来分割字符串,返回一个数组

toUpperCase()将字符串转换为全部大写

toLowerCase()将字符串转换为全部小写

trim()去除字符串首末的空格

正则表达式

12,声明在类中的变量为成员变量(不必为其初始化)

    声明在类中块或方法中的变量为局部变量(必须为其初始化)

13,声明普通方法时必需有返回值、方法名、一对小括号和一对大括号。

    声明构造方法时不能有返回值。

14,Java编译器使用方法签名来区分不同的方法,即方法名和参数列表,不包括返回值。

15,方法参数的传递:

    值传递是指先将参数复制一份,然后将复制的内容传递到方法中,而非在原参数的地址位置直接用方法进行修改。

16,this

使用this可以在普通方法和构造方法中使用当前对象的任何成员变量

使用this来引用成员变量,使用this来引用构造方法

17,static

如果需要直接使用变量和成员方法而不创建对象,则可以使用static关键字。它表明被修饰的成员是属于这个类的,而不是某个特定的对象。Static关键字需要放在变量类型之前。在类的内部调用static变量时直接使用既可。在类的外部调用static变量可以使用“类名.静态变量名”的方式。

18,final 关键字的含义是不可变。

 Final修饰类时,表示该类不能被继承。

 修饰成员变量时,表示该变量一旦被赋值之后就不能被修改了。

 修饰成员方法时,表示该方法不能被子类重写。

Final关键字的一个常见用法是与static关键字组合来创建常量,

Public static final PI=3.1425926;

19,类的多态:

在Java中,通常使用方法的重载和重写来实现类的多态性。

重写之所以具有多态性,是因为父类或接口中的方法在子类中被重写,子类和父类(或接口)的方法名相同,但完成的功能却不一样,所以说,重写具有多态性。

重载的多态性是指:一个类中出现多个方法名称一样(参数个数或参数类型不同)但是它们的功能各不相同,即多态。

    继承(将父类对象应用与子类的特性就是多态)

        接口(Java只支持单继承,不支持多继承,即一个类只有一个父类。但是在实际应用中,有经常需要使用多继承来解决问题。为了解决这些问题,Java提供了接口来实现类的多继承功能,建立类与类之间关联的标准。)

抽象类(只声明方法的存在而不去具体实现的类,抽象类不能被实例化,关键字abstract。只要是包含了抽象方法的类就必须声明为抽象类。)

20,super关键字

子类可以继承父类的非私有成员变量和成员方法作为自己的成员变量和成员方法。但是,

如果子类中声明的成员变量和父类的成员变量同名,则子类不能继承父类的成员变量,此时称子类的成员变量隐藏了父类的成员变量。

如果子类中声明的成员方法与父类中的成员方法同名,并且方法的返回值及参数的个数和类型也相同,则子类不能继承父类的成员变量,此时称子类的成员方法重写了父类的成员方法。

这时,如果想在子类中访问父类中被子类隐藏的成员变量或方法时,就应该使用super关键字。--------------------------------------------super.成员变量或成员方法名(相关参数)

调用父类的构造方法---------------------super(相关参数)。

21,object类

Object类是比较特殊的类,是所有类的父类,是Java类层的最高层,Java中任何一个类都是它的子类。

22,instanceof判断对象类型

23,abstract抽象类就是只声明方法的存在而不去具体实现它的类。抽象类不能被实例化。

在抽象类中创建的、没有实际意义的且必须要子类重写的方法称为抽象方法。抽象方法只有方法的声明而无方法的实现,用abstract修饰既可。抽象方法不能使用private或static关键字进行修饰。(是因为抽象方法是需要被子类重写的)。包含抽象方法的类必须被声明为抽象类。这是因为抽象方法没定义方法的实现部分,如果不声明为抽象类,这个类将可以生成对象。这时当用户调用抽象方法时,程序就不知道如何处理了。

24,抛出异常(异常类)

Throws:当方法中可能存在异常,却不想在方法中对异常进行处理时使用throws声明异常抛出的异常,然后在调用该方法的其他方法中对异常进行处理(谁用谁处理)。

Throw:程序在运行过程中如果发生错误,则自行抛出异常(本方法自己处理异常)。

语法为    throw new Exception(“对异常的说明”);

25,绝对布局管理器(不常用)

使用Container.setLayout(null)方法取消布局管理器

使用Component.setBounds()设置每个组件的大小与位置

流布局管理器

FlowLayout类中具有以下构造方法:

Public FlowLayout()//默认居中

Public FlowLayout(0或1或2)左对齐、居中、右对齐

Public FlowLayout(0或1或2,水平间距,垂直间距)

边界布局管理器(默认情况下Swing组件的布局模式就是BorderLayout布局)

BorderLayout类中常用构造方法

Public BorderLayout()

Public BorderLayout(水平间距,垂直间距)

BorderLayout常用成员变量

BorderLayout.NORTH

BorderLayout. SOUTH

BorderLayout.EAST

BorderLayout.WEST

BorderLayout.CENTER

    网格布局管理器

GridLayout常用构造方法:

Public GridLayout(rows, columns)

Public GridLayout(rows, columns, 水平间距,垂直间距)

26,swing组件常用方法

setSize(width,heighth);//设置组件大小

setBounds(x,y,width,heighth)//设置组件显示位置(x,y)及大小(width,heighth)

setVisible(true或false);//设置组件的可见性

setLayout(null或上述的布局管理器的对象)//设置布局管理器

add(组件对象)

add(位置,组件对象)//添加组件的同时设置组件的摆放位置

setOpaque(true或false);//为组件设置不透明状态

setIcon(Icon对象icon);为标签或按钮组件设置图片

27,在设置容器对象时候可以同时设置它的布局管理器

Container c=getContentPane();

c.setLayout(null或上述的布局管理器的对象);

还有

JPanel p1=new JPanel();

p1.setLayout(new GridLayout(1,2,10,10));

JPanel  p1=new JPanel(new GridLayout(1,2,10,10)) ;

28,常用面板(它可以作为容器来容纳其他组件,但必须被添加到其他容器中)

JPanel面板:(如上,初始化一个面板容器时可以设置其布局管理器)

JScrollPane面板(带滚动条的面板容器,但只能放置一个组件,故不能使用布局管理器。如果需要在JScrollPane容器中放置多个组件,需要将多个组件放置在JPanel容器中,然后再将JPanel容器放置在JScrollPane面板容器之中。)

29,标签组件JLable

JLable类相关构造方法:

Public JLabel();//创建一个不带图标和文本的JLabel对象

Public JLabel(Icon icon);//带图标的JLabel对象

Public JLabel(Icon icon,对齐方式);//带图标的JLabel对象,且图标有水平对齐方式,

Public JLabel(String text,对齐方式 2);//带文本的JLabel对象,且文字有水平对齐方式

Public JLabel(String text,Icon icon,对齐方式);//带图标带文本的JLabel对象,且标签内容有水平对齐方式

组件类.LEFT或组件类.CENTER或组件类.LEFT.RIGHT

30,图标(Swing中的图标可以放置在按钮、标签等组件上,用于描述组件的用途。)

必须实现的Icon接口中的3个方法

Public int getIconHeight();所创建的图标的高

Public int getIconWidth();所创建的图标的宽

public void paintIcon(Component arg(),Graphis arg1,x,y);在指定的位置画图(x,y)。

31,根据现有图片来创建图标(省的自己利用Icon接口来画的,况且画的还不好看)

ImageIcon类实现了Icon接口,支持多种图片格式

ImageIcon类常用构造方法

Public ImageIcon();创建一个通用的ImageIcon对象,当真正需要设置图片时再使用ImageIcon对象调用setImage(Image image)方法来操作。

Public ImageIcon(Image Image);

Public ImageIcon(Image Image,描述);

Public ImageIcon(URL url);

32,提交按钮组件

JButton类中常用构造方法

Public JButton();

Public JButton(String text);指定按钮上显示的文字

Public JButton(Icon icon);指定按钮上显示的图片

Public JButton(String text,Icon icon);指定按钮上显示的图片和文字

33,单选按钮组件

JRadioButton类中常用构造方法

Public JRadioButton();

Public JRadioButton(Icon icon);指定按钮上显示的图片

Public JRadioButton(Icon icon, Boolean selected);指定按钮上显示的图片且此按钮默认被选择

Public JRadioButton(String text);指定按钮上显示的文字

Public JRadioButton(String text,Icon icon);指定按钮上显示的文字

Public JRadioButton(String text,Icon icon,Boolean selected);指定按钮上显示的文字和图片且此按钮默认被选择。

按钮组类ButtonGroup类,将所有的按钮放置在一个按钮组中,按钮组中的按钮只能选择一个。

34,复选框组件

JCheckBox类常用构造方法

Public JCheckBox();

Public JCheckBox(Icon icon,Boolean selected);指定按钮上显示的图片且此按钮默认被选择

Public JCheckBox(String text,Boolean selected);指定按钮上显示的文字且此按钮默认被选择

35,下拉列表框组件

JComboBox类常用构造方法

Public JComboBox();

Public JComboBox(ComboBoxModel dataModel);

Public JComboBox(Object[] arrayDate);

Public JComboBox(Vector vector);

后3个构造方法将下拉列表框中的内容封装在了ComboBoxModel类型、数组或者Vector类型的对象之中了。

若将下拉列表框中的内容封装在了ComboBoxModel类型的对象之中,则在实现ComboBoxModel接口时必须实现以下两个方法

Public void setSelectedItem(Object item);

Public Object getSelectedItem();

36,列表框组件

37,单行文本框组件

JTextField类常用构造函数

Public JTextField();

Public JTextField(文本框默认文字);

Public JTextField(文本框的宽);

Public JTextField(文本框默认文字,文本框的宽);

Public JTextField(document docModel,文本框默认文字,文本框的宽);

38,密码框组件

JPasswordField类常用构造函数

Public JPasswordField();

Public JPasswordField(密码框默认文字);

Public JPasswordField(密码框的宽);

Public JPasswordField(密码框默认文字,密码框的宽);

Public JPasswordField(document docModel,密码框默认文字,密码框的宽 );

39,文本域组件

Jtextarea类常用构造函数

Public Jtextarea();

Public Jtextarea(文本域默认文字);

Public Jtextarea(文本域的行数,列数);

Public Jtextarea(document docModel);

Public Jtextarea(document docModel,文本域默认文字,文本域的行数,列数);

40,键盘事件

KeyEvent类负责捕获键盘事件

实现了KeyListener接口的监听器类负责处理相应的键盘事件

必须实现的KeyListener接口中的3个方法

Public void keyTyped(KeyEvent e);发生单击事件时被触发

Public void keyPressed(KeyEvent e);按键按下时被触发

Public void keyReleased(KeyEvent e);按键被释放时被触发

41,鼠标事件

MouseEvent类负责捕获鼠标事件

实现了MouseListener接口的监听器类负责处理相应的鼠标事件

必须实现的MouseListener接口中的5个方法

Public void mouseEntered(MouseEvent e);光标移入组件时被触发

Public void mousePressed(MouseEvent e);鼠标按键按下时被触发

Public void mouseReleased(MouseEvent e);鼠标按键释放时被触发

Public void mouseClicked(MouseEvent e);鼠标单击时被触发

Public void mouseExited(MouseEvent e);光标移出组件时被触发

44,捕获窗体焦点变化事件

WindowEvent类负责捕获窗体(焦点)变化事件

实现了WindowFocusListener接口的监听器类负责处理窗体获得或失去焦点的事件

必须实现的WindowFocusListener接口中的2个方法

Public void windowGainedFocus(WindowEvent e);窗体获得焦点时被触发

Public void windowLostFocus(WindowEvent e);窗体失去焦点时被触发

捕获窗体状态变化事件

WindowEvent类负责捕获窗体(状态)变化事件

实现了WindowStateListener接口的监听器类负责处理窗体状态变化的事件

必须实现的WindowStateListener接口中的1个方法

Public void windowStateChanged(WindowEvent e);窗体状态发生变化时被触发

捕获其他窗体事件

WindowEvent类负责捕获窗体(其他)变化事件

实现了WindowListener接口的监听器类负责处理其他有关窗体的事件

必须实现的WindowListener接口的7个方法

Public void WindowActived(WindowEvent e);窗体被激活时被触发

Public void WindowDeactivated(WindowEvent e);窗体不再处于激活状态时被触发

Public void WindowOpened(WindowEvent e);窗体被打开时被触发

Public void WindowClosing(WindowEvent e);窗体将要被关闭时被触发

Public void WindowClosed(WindowEvent e);窗体已经被关闭时被触发

Public void WindowIconified(WindowEvent e);窗体被图标化时被触发

Public void WindowDeiconified(WindowEvent e);窗体被非图标化时被触发

45,选项事件

ItemEvent类负责捕获选项事件

实现了ItemListener接口的监听器类负责处理相应的选项事件

必须实现的ItemListener接口的1个抽象方法

Void itemStateChanged(ItemEvent  e);

46,使用数组创建表格

JTable  table =new JTable(封装表格数据的数组,封装表格列名的数组);

   使用向量创建表格

JTable  table =new JTable(封装表格数据的向量,封装表格列名的向量);

47,定制表格

表格创建完成后,还需要对其进行一系列的定义,以便适合具体的使用情况。

通过重写JTabel类中相应方法达到自己所需要的定义。如重写:

Public Boolean isCellEditable(int row,int column)双击单元格是否可以进行编辑,默认TRUE可以编辑。

通过重写JTableHeader类中相应方法达到自己所需要的定义。如重写:

Public Boolean setReorderingAllowed(Boolean reorderingAllowed)设置表格是否支持重新排列功能,默认TRUE支持重新排列。

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);// 选择模式设置为可以连续选择多行 

table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);

table.setSelectionBackground(Color.YELLOW); // 被选择行的背景色为黄色

table.setSelectionForeground(Color.RED); // 被选择行的前景色为红色

table.setRowHeight(30); // 表格的行高为30像素

48,维护表格模型

JTabel类负责创建表格(仅仅是将表格中的数据封装到默认的表格模型中)

表格模型负责存储表格数据

创建表格模型

接口TableModel定义了表格模型,里面有许多操作表格的方法。

抽象类AbstractTableModel实现了接口TableModel的大部分方法。只有3个方法为实现。

通过继承AbstractTableModel抽象类再加上实现那三个此抽象类还没有实现的方法,就可以创建自己的表格模型类了。根据这一思路,Swing中早已为此写了一个表格模型类:DefaultTableModel类。

    设置表格模型

利用默认的表格模型类或自己定义的表格模型类来实例化一个表格模型对象,然后将此模型对象用作JTable类实例化对象时构造方法的参数。即利用表格模型来创建表格。

    维护模型对象

例如:添加新行的方法,修改单元格内容的方法,删除指定行的方法。

1,线程简介

世间上的很多事情都是同时进行的,为了模拟这种状态,引入了线程机制。

2,通过继承Thread类来实现线程

完成线程真正功能的代码放置类的run方法中。当一个类继承Thread类之后就在该类中重写run方法,将实现该线程功能的具体代码写入run方法中,然后在main方法中调用Thread类中的start () 方法执行线程(也就是调用被重写的run()方法)。如果不调用start()方法,线程永远都不会启动,此时Thread对象就只是一个实例而不是一个真正的线程。

    通过实现Runnable接口

如果程序需要继承其他类(java语言不支持多继承)又需要使用线程,那么就要通过实现Runnable接口来实现线程。

实现Runnable接口的程序会创建一个Thread对象,并将Runnable对象与Thread对象相关联。利用Thread类的构造方法将Runnable对象与Thread对象相关联。 

Public Thread(Runnable r)

Public Thread(Runnable r,String name)

以实现了Runnable接口的Runnable类的对象r作为初始化Thread对象的一个参数目的就是要用到Runnable类中重写的Runnable接口中run方法的run方法(完成线程真正功能的代码放置类的run方法中)。最后在main方法中调用Thread类中的start () 方法执行线程(也就是调用被重写的run()方法)。如果不调用start()方法,线程永远都不会启动,此时Thread对象就只是一个实例而不是一个真正的线程。

 3,线程的休眠:什么也不干等睡好了再做事

方法Thread.sleep(休眠时间毫秒);

线程的加入

方法Thread.join();

线程的中断

以往会用方法Thread.stop();现在在run方法中采用无限循环的方式,然后使用一个Boolean型的标记控制循环的结束。

线程的礼让:只是给当前正处于运行状态的线程提个醒,告知该线程可以将资源礼让给其他线程。仅仅是可以而非一定要这样做。

方法Thread.yield();

4,线程优先级:系统根据线程的优先级决定从众多就绪状态的线程的选择优先级高的线程进入运行状态。

方法Thread.setPriority();调整线程的优先级

5,线程同步机制synchronized:解决多线程的安全问题及线程冲突

将多个线程所共享的资源放置在synchronized定义的区域内。每次操作资源数据时,必须加锁--操作--解锁。 

6,线程间的通信4

线程间的通信通过使用wait()、notify()、notifAll()方法实现。

Wait()方法后:运行状态——>就绪状态,释放锁,需要notify()方法唤醒。

Sleep()方法后:运行状态——>就绪状态,不释放锁。

1,绘制图形

绘图类Graphics(所有图形上下文的抽象基类)

   绘图类Graphics2D(继承Graphics类,在Graphics类简单图形绘制功能基础上又增加了功能更加强大的绘图操作功能。)

Graphics2D时推荐使用的绘图类,但是程序设计中提供的绘图对象大多是Graphics类的实例。对象。这时应该使用强制类型转换将其转为Graphics2D类型。

2,颜色属性(Color封装了颜色与笔画的各种属性,并对颜色进行管理)

Public Color(int rgb)

Public Color(r,g,b)

setColor(Color color)

笔画属性(默认情况下Graphics使用的笔画属性石粗细为1个像素的正方形,而 Graphics2D可以调用setStroke()方法来设置笔画的属性。)

setStroke(Stroke stroke)stroke是实现了Stroke接口的实现类。

3,绘制文本

Font封装了字体的大小、样式等属性,

设置字体Font(String name,int style,int size)

        setFont(Font font)

   显示文字

Graphics2D的drawString()方法可以实现在图形上的文本绘制功能。

drawstring(String str,int x,int y)或

drawstring(String str,float x,float y)

4,绘制图片(Graphics2D绘图类的drawImage()方法:将图片资源显示在绘图上下文中,且可以实现各种特效处理。)

drawImage(Image img,int x,int y,observer要通知的图像观察者)

   放大与缩小(drawImage()方法的重载

drawImage(Image img,int x,int y,int width,int height,observer要通知的图像观察者)指定图片的高与宽属性。

    图片翻转(drawImage()方法的重载

drawImage(Image img,int dx1,int dy1,int dx2,int dy2,

int sx1,int sy1,int sx2,int sy2, observer要通知的图像观察者)

   图片旋转(Graphics2D类的rotate()方法,通过指定的弧度旋转图像)

rotate(double theta)

   图片倾斜(Graphics2D类的shear()方法

shear(水平方向的倾斜量double shx,垂直方向的倾斜量double shy)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424708.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号