- 面向对象的三大特性: 封装性、多态性、继承性。
- Java语言特点: 鲁棒、自动垃圾回收、跨平台、多线程、面向对象、简单性、解释执行。
- Java的三大版本: Java SE、Java EE、Java ME。
- 第一个Java程序:
- javac 文件名.java。
- java(类名) (无java后缀名)。
- Java源文件编译成class字节码文件 (javac)
- class文件解释成机器码并执行 (jvm)
- JDK JRE JVM
- JDK=Java Development Kit Java开发工具包 ========》开发
- JRE=Java Runtime Environment Java运行时环境 =======》运行
- JVM=Java Virtual Machine Java虚拟机=============》运行
- JDK包含JRE\JRE可以独立存在\JRE包含JVM
类的基本结构
-
类的声明形式
- 【访问权限修饰符】【修饰符】class 类名{【类体】}
- 1public static class InnerClass{ }
- 2public class HelloWorld { }
- 3class HelloMyLittleWorld { }
- 访问权限修饰符: public protected (defualt) private (从大到小的顺序)
-
属性的声明方式
- 1【访问权限修饰符】 【修饰符】 数据类型 属性名【=初值】
- 2String name;
- 3//public 访问权限修饰符
- 4// static final 修饰符
- 5// String 数据类型
- 6// MAX_SALARY 属性名
- 7//=20000000 初值
- public static final String MAX_SALARY=2000000;
-
方法的声明方式
-
- 1【访问权限修饰符】【修饰符】 返回值类型 方法名(形式参数列表){}
- 2public static void main(String[] args){
- 3【return ;】}
- 方法即对象的行为
-
方法重载
- 方法名必须相同
- 参数不同
- 顺序不同 (变量名不影响效果,前提,参数的类型要不同)
- 类型不同
- 参数个数不同
- 在同一作用域
-
构造方法的声明方式
-
- 1【访问权限修饰符】 类名 (形式参数列表) {方法体}
- 2public Dog(String name){
- 3this.name=name;
- }
-
构造方法的作用是创建对象
-
当不写构造方法时,默认存在一个公开的无参构造发放
- 当写了构造方法时,默认的无参构造方法就不存在了
-
创建对象
- 创建了两个实体
- 对象引用变量,存放在栈内存区(stack)中
- 对象本身,存放在堆(heap)内存区中
- 对象引用变量存储的是对象本身的虚地址,通过对象引用变量可以操纵对象本身
-
创建对象的过程
- 加载 类 到 内存
- 初始化属性,存在堆中
- 调用构造器创建实例,存在堆中
- 在栈中创建引用变量,并把对象的虚地址赋给栈中的变量
Java简单语法
简单规则
- 分号
- 块
- 关键字
- public static void new class package
- private protected this return
- if else switch for while do case default break
- byte short int long float double boolean char
- 空白
ctrl
+shift
+f
整理格式
- 花括号
- 注释
- 单行注释 //
- 多行注释 /* */
- 文档注释/* / javadoc
标识符的规则
- 必须由字母、数字、下划线、$组成
- 数字不能为开头
- 不能为系统关键字
- 区分大小写
- 不能用#%@&等符号
- 遵循一定规则
- 类名 首字母 大写,用第二个单词的首字母大写来分词 驼峰式命名法
- 变量名、方法名、属性名 首字母小写,用第二个单词的首字母大写来分词 驼峰式命名法
- 常量(static final) 全部大写,用下划线分词,注意赋初值
- 长度不限
- 中间不能有空格
- 在某个范围内是唯一的
Java表达式
- 逗号表达式
- 问号表达式:三元运算符
- 逻辑表达式
- 正则表达式
访问权限修饰符
-
包的概念
- 将逻辑相关的类组织在同一个包内,控制访问权限
- package
- import
-
访问权限修饰符及其权限
私有权限 | 同包权限 | 子类可访问权限 | 公开权限 |
---|---|---|---|
private | √ | ||
(default) | √ | √ | |
protected | √ | √ | √ |
public | √ | √ | √ |
- 属性的封装方式
- 将一组逻辑相关的属性方法封装在类中,通过访问权限修饰符来隐藏内部细节,公开访问的接口的技术称为类的封装技术 - 隐藏内部细节,保护其不受外部影响,方便内部的修改 - 同时降低外部使用的复杂度 - 属性用private隐藏,方法用public公开 - setter getter的写法 - private属性 grade success(boolean) - getter : public 数据类型 get属性名(){return 属性名;} getGrade - boolean getter : public boolean is属性名(){return 属性名;} isSuccess - setter: public void set属性名(数据类型 属性名){this.属性名=属性名;} setSuccessjava public class Cat { private String name; private int age; private boolean full; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isFull() { return full; } public void setFull(boolean full) { this.full = full; } }
系统关键字
- 1类相关:
- 2 class interface enum extends implements return package import void this new super instanceof
- 3- 访问权限修饰符
- 4 protected public private
- 5- 流程
- 6 for if else switch case default break continue do while
- 7 static
- 8- 八种基本数据类型
- 9 byte short int long float double char boolean
- 10- 修饰符
- 11 static final abstract synchronized native volatile transient
- 12- 异常相关
- 13- try catch finally throw throws
- 14- 其他
- 15 assert
- 16null