电子信息工程专业打工人的Java语言学习时记

电子信息工程专业打工人的Java语言学习时记,第1张

电子信息工程专业打工人的Java语言学习时记

文章目录
  • 前言
  • 一、Java开发入门
    • 1.介绍
  • 二、Java编程基础
    • 1.知识点
    • 2.关键字
    • 3.面向对象
  • 三、GUI
  • 总结


前言

根据大二Java基础入门课程(黑马程序员著)的学习总结,本文章主要内容为Java在与C语言相比后的不同之处和本人已学知识点,故全篇不作详细讲解


一、Java开发入门 1.介绍

1、版本:Java SE:标准版;Java EE:企业版;Java SE:微型版
2、JDK:开发环境,包含JRE(运行环境,用户使用)、编译器等工具,Java开发需要在电脑配置系统环境。
Java环境配置
目录介绍
bin(binary)目录:存放可执行文件,javac.exe(编译器)、java.exe(运行工具)、jar.exe(打包工具)、javadoc(文档生成工具);
db目录:小型数据库;
include目录:C语言头文件(JDK由C语言与C++实现);
jre目录:运行环境根目录;
lib(library)目录:Java库文件。
3、工程创建:Eclipse创建流程

二、Java编程基础 1.知识点

对象:以类文件为类型的变量
方法:类文件中的函数;
构造方法:方法名与类名相同,没有返回值,可以单独写return语句作为方法的结束,它会在类实例化对象时被自动调用;
重载:多个方法名相同、参数个数或参数类型不同的方法;
标记:相当于C语言中的goto;
子类和父类之间该方法属于谁/等号左边是谁,就优先用谁,没有则向上找;
子类的构造方法启动时,一定会先跑去启动父类的构造方法,等父类的构造方法执行完后,再去执行子类(本类)的构造方法。
!!子类和父类最全详解!!

2.关键字

Class:定义类文件,类名首字母大写;
this:解决一个类文件中的成员变量(全局变量)和方法中的局部变量冲突问题,调用一个类文件中的成员变量(全局变量),调用一个类文件中的成员方法(函数),调用一个类文件中的构造方法;
static:只能用于修饰成员变量(全局变量),不能用于修饰局部变量;一个类文件中用static修饰的方法可在用于不创建对象的情况下,直接通过“类名.方法”调用;
boolen / byte:布尔类型/字节类型;if语句和switch语句的判断条件可以是布尔类型;
abstract:修饰抽象类、抽象方法,包含抽象方法的类必须为定义为抽象类,形式:“pubic abstract void function();”,无需方法体;
assert:assert用法详解;
super:子类对父类重写后,再次访问父类原成员的关键字;
extends:实现继承的关键字,继承之后可以使用父类的方法, 也可以重写父类的方法,单继承;
implements:是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 ,可多接口;
final:只能被设一次值,成员变量必须在声明处赋值,值和普通变量的设值一样,可以是对象、字符串、数字等,用于修饰值的表达式不变的变量;
interface:定义接口的关键字;接口详解
访问控制符关键字:private:当前类访问级别;default:包访问级别;protect:子类访问级别;public:公共访问级别;访问控制级别由高到低;访问控制符详解
“|”和“||”一起表示为逻辑与,“&”和“&&”一起表示为逻辑与;
数组:定义:数组类型[] 数组名 / 数组类型 数组名[] = new 数组类型[数组长度],new 数组类型[] {元素}, {数组元素1、数组元素2…},长度为n<==>多维数组行数为n;
其他关键字,运算符、变量和语句知识点参考C语言知识点,另有未学关键字在本文中不作记录。

注:该字节长度标准只是编译器内常见的标准,如有差异以实际为准

3.面向对象

定义类:[修饰符] class 类名 [extends 父类名] [implement 接口名]{…};继承(extends)父类,实现(implements)接口;类名为当前文件名;变量与方法在类里面定义;
object类:所有类的父类,默认自动继承,含常用方法;
抽象类:abstract修饰,含抽象方法的类必须为抽象类;
定义对象:类名 对象名称 = new 类名{};
引用对象成员:类名.变量/属性值,类名.方法;
实现封装:getXxx()方法:获取属性值;setXxx()方法:设置属性值;
继承:子类继承父类;
多态:多个子类继承抽象父类方法,每个子类可重写出不同的方法;
构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用,可以有多个参数类型或个数不同的构造方法;
接口:[修饰符] interface 类名 [extends 父接口1、2…];interface修饰,一种特殊的抽象类,内部方法必须为抽象方法;

三、GUI
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ChatWindow {
	private static JComboBox jComboBox;
	private static void createAndShowGUI() {
		
		final Jtextarea showArea = new Jtextarea(20, 20);
		showArea.setEditable(false);

		
		JScrollPane scrollPane = new JScrollPane(showArea);
		
		
		final JTextField inputText = new JTextField(20);

		
		JButton button = new JButton("发送");

		
		ActionListener textListen = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String content = inputText.getText();
				if (content != null && !content.trim().equals("")) {
					showArea.append("输入内容:" + content + "n");
				} else {
					showArea.append("发送错误" + "n");
				}
				inputText.setText("");
			}
		};

		
		button.addActionListener(textListen);
		inputText.addActionListener(textListen);

		
		JPanel panelFixed = new JPanel();
		JPanel panelChoose = new JPanel();

		
		final JCheckBox italic = new JCheckBox("斜体");
		final JCheckBox bold = new JCheckBox("加粗");

		
		ActionListener fontListen = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int mode = 0;
				if (bold.isSelected()) {
					mode += Font.BOLD;
				}
				if (italic.isSelected()) {
					mode += Font.ITALIC;
				}
				showArea.setFont(new Font("宋体", mode, 18));
			}
		};
		italic.addActionListener(fontListen);
		bold.addActionListener(fontListen);

		
		String []box = {"请选择分组", "菜鸟", "精英", "大牛"};
		jComboBox = new JComboBox<>(box);
		final JTextField name = new JTextField(20);
		jComboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String item = (String)jComboBox.getSelectedItem();
				if ("请选择分组".equals(item)) {
					name.setText("");
				} else {
					name.setText(item);
				}
			}
		});
		
		
		panelFixed.add(inputText);
		panelFixed.add(button);
		panelFixed.add(italic);
		panelFixed.add(bold);
		panelChoose.add(jComboBox);
		panelChoose.add(name);

		
		Jframe f = new Jframe("聊天界面");
		f.setVisible(true);
		f.setLocation(200, 100);
		f.setSize(1000, 600);

		
		f.add(scrollPane, BorderLayout.CENTER);
		f.add(panelChoose, BorderLayout.WEST);
		f.add(panelFixed, BorderLayout.PAGE_END);
		f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		createAndShowGUI();
	}

}


总结

以上为本人所学的知识总结,本文未涉及未学习到的知识点,其中链接网址仅作记录使用,如有侵权或内容有误,敬请联系斧正。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5636513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存