- 面向对象的三大特性: 封装性、多态性、继承性。
- 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 类名{【类体】}
public static class InnerClass{ } public class HelloWorld { } class HelloMyLittleWorld { }
- 访问权限修饰符: public protected (defualt) private (从大到小的顺序)
属性的声明方式
- 【访问权限修饰符】 【修饰符】 数据类型 属性名【=初值】
String name; //public 访问权限修饰符 // static final 修饰符 // String 数据类型 // MAX_SALARY 属性名 //=20000000 初值 public static final String MAX_SALARY=2000000;
方法的声明方式
- 【访问权限修饰符】【修饰符】 返回值类型 方法名(形式参数列表){}
public static void main(String[] args){ 【return ;】 }
- 方法即对象的行为
方法重载
- 方法名必须相同
- 参数不同
- 顺序不同 (变量名不影响效果,前提,参数的类型要不同)
- 类型不同
- 参数个数不同
- 在同一作用域
构造方法的声明方式
- 【访问权限修饰符】 类名 (形式参数列表) {方法体}
public Dog(String name){ this.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.属性名=属性名;} setSuccess
java
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;
}
}
系统关键字
- 类相关:
class interface enum extends implements return package import void this new super instanceof
- 访问权限修饰符
protected public private
- 流程
for if else switch case default break continue do while
static
- 八种基本数据类型
byte short int long float double char boolean
- 修饰符
static final abstract synchronized native volatile transient
- 异常相关
- try catch finally throw throws
- 其他
assert
null