- 前言
- 一、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创建流程
对象:以类文件为类型的变量;
方法:类文件中的函数;
构造方法:方法名与类名相同,没有返回值,可以单独写return语句作为方法的结束,它会在类实例化对象时被自动调用;
重载:多个方法名相同、参数个数或参数类型不同的方法;
标记:相当于C语言中的goto;
子类和父类之间该方法属于谁/等号左边是谁,就优先用谁,没有则向上找;
子类的构造方法启动时,一定会先跑去启动父类的构造方法,等父类的构造方法执行完后,再去执行子类(本类)的构造方法。
!!子类和父类最全详解!!
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语言知识点,另有未学关键字在本文中不作记录。
注:该字节长度标准只是编译器内常见的标准,如有差异以实际为准
定义类:[修饰符] class 类名 [extends 父类名] [implement 接口名]{…};继承(extends)父类,实现(implements)接口;类名为当前文件名;变量与方法在类里面定义;
object类:所有类的父类,默认自动继承,含常用方法;
抽象类:abstract修饰,含抽象方法的类必须为抽象类;
定义对象:类名 对象名称 = new 类名{};
引用对象成员:类名.变量/属性值,类名.方法;
实现封装:getXxx()方法:获取属性值;setXxx()方法:设置属性值;
继承:子类继承父类;
多态:多个子类继承抽象父类方法,每个子类可重写出不同的方法;
构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用,可以有多个参数类型或个数不同的构造方法;
接口:[修饰符] interface 类名 [extends 父接口1、2…];interface修饰,一种特殊的抽象类,内部方法必须为抽象方法;
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ChatWindow { private static JComboBoxjComboBox; 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(); } }
总结
以上为本人所学的知识总结,本文未涉及未学习到的知识点,其中链接网址仅作记录使用,如有侵权或内容有误,敬请联系斧正。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)