基础
基础语法关键字
访问控制
- private:私有的
- protected:受保护的
- public:公共的
- default:默认的
类、方法和变量的修饰符
- abstract:声明抽象
- class:类
- extends:扩充、继承
- final:最终值,不可改变的
- implements:实现接口
- interface:解耦
- native:本地,原生方法(非Java实现)
- new:新创建
- static:静态
- strictfp:严格,精准
- synchronized:线程,同步
- transient:短暂
- volatile:易失
程序控制语句
break:跳出循环
case:定义一个switch循环
contiune:继续
default:默认
do:运行
else:否则
for:循环
if:
instanceof:实例
return
switch
while:
错误处理
assert:断言表达式是否为真
catch:捕捉异常
finally:有没有异常都执行
throw:抛出一个异常对象
try:捕获异常
包相关
import:引入
package:包
基本类型
boolean、char、byte、double、float、int、long、short;
变量引用
super:父类、超类
this:本类
void:无返回值
保留关键字
goto:是关键字、但是不可使用
const:同上
null:空
Java继承
在Java中,类可以由其他的类派生,若创建一个类,而且已经存在一个类具有所需属性方法,可以将新的类继承创建的类。
super class:称为超类,被继承的类
subclass:派生子类
接口
Java接口时对象间的通信协议。接口仅定义要派生的方法,但是具体的实现完全取决于派生类。
Java源程序与编译运行的区别
编译源程序通过编译链接形成完整的exe执行文件,通过操作系统执行。
而Java源程序 .java通过编译成字节码程序 .class,最后通过解释器解释执行
Java对象和类
Java是一种面向对象语言,支持多态、继承、封装、抽象、类、对象、实例、方法、重载;
对象是类的实例,有状态和行为;
类是模板,描述一类对象的行为与状态;
软件对象也有状态以及行为,软件对象的状态就是属性,行为通过方法体现;
在软件开发中,方法操作对象内部的改变,对象的相互调用也是有过方法来完成。
类包含的变量:
- 局部变量:生命周期在方法中
- 成员变量:定义在类中,方法体之外的变量,在变量创建对象的时候进行实例化,成员变量可以被类中方法,构造方法和特定类的语句块访问。
- 类变量:声明在类中,方法体之外,但是必须声明为static类型;
构造方法
类都有构造方法,若没有显式的构造,编译器会提供默认的构造方法,在创建对象的时候至少要调用一个构造方法,构造方法的名称与类同名,类可以都多个构造方法。
创建对象
步骤:
- 声明对象,包括对象名称和对象类型
- 实例化:new关键字创建一个对象
- 初始化,new创建新的对象是,会调构造方法初始化
public class puppy{
pubice puppy(String name){
System.out.println("小狗名字是" + name);
}
public static void main(String[] args){
puppy mypuppy = new puppy("llllll")
}
}
访问实例变量和方法
通过已经创建的对象来访问成员变量和方法
//实例化duixiang
Object referenceVariable = new Constructor();
//访问类中的变量
referenceVariable.variableName;
//访问类中的方法
referenceVariable.mthododName();
//实例化
public class puppy{
int puppyAge;
public puppy(String name){
//name是构造器唯一的参数
System.out.println("Dog's name is " + name);
}
public void setAge(int age){
puppyage = age;
}
public int getAge(){
System.out.println("Dog's age is " + puppyAge);
}
public static void main(String[] args){
//创建对象
puppy myPuppy = new puppy("www");
//通过方法设定age
myPuppy.setAge(2);
//调用另外一个方法获取age
pyPuppy.getAge();
//另外一种访问方法
System.out.println("变量值:" + myPuppy.puppyAge);
}
}
源文件的声明规则
- 一个源文件只能有一个public
- 一个源文件可以有多个非public类
- 源文件名称和public名称保持一致
- 包应该位于行首
- import和package语句对源文件定义所有类都有效
- 类的级别与类型也不同
Java包与导包
包用于对类和接口分类;
import语句提供合理路径是的编译器可以容易的找到某个类
import java.io.*;
Java基本数据类型
变量用于申请内存存储,内存管理系统根据变量值来分配变量的内存空间,分配空间只能存储该类型数据
Java两大数据类型:内置数据类型、引用数据类型
引用类型相当于指针,指向一个对象,指向对象的变量暂定为一个特殊数据类型
基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535
Java常量
final来声明,不可修改
Java转义字符
\n 换行
\r 回车
\f 换页
\b 退格
\0 空字符
\s 空格
\t 制表符
“ 双引号
\ 反斜杠
\ddd 八进制
\uxxxx 十六进制Unicode字符
自动类型转换
由低到高
byte,short,char,int,long,float,double
- boolean类型不可以转换
- 自动类型转换是低位转高位
- 强制类型转换在对象前加括号填写相关的类型名
Java变量类型
类变量、实例变量、局部变量
局部变量
- 声明在方法,构造方法或者语句块中
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当其执行完成后,变量将会被销毁
- 访问修饰符不能用于局部变量
- 只在声明的方法,构造方法或者语句块可见
- 局部变量没有默认值,必须结果初始化
实例变量
- 实例变量在一个类中,但是在方法、构造方法和语句之外
- 对象实例化后,实例变量的值就跟着确定
- 实例变量在对象创建的时候被创建,对象被销毁的时候销毁
- 至少被一个方法、构造方法、语句块引用,是的外部可以通过这些方式获取变量信息
- 实例变量可以声明在使用前或者使用后
- 访问修饰符可以修饰实例变量
- 实例变量对于类中的方法、构造方法或者语句块是可见的,一般情况下是私有,通过使用访问修饰符可以使实例变量对子类可见
- 实例变量具有默认值,数值类型变量的默认值是0,布尔类型是false,引用类型是null,变量值可以在声明时指定,也可以在构造方法中指定。
- 实例变量可以直接通过变量名访问但是在静态方法以及其他类型中,应该使用:ObjectReference.VariableName
类变量
- 也叫静态变量static关键字声明,必须在方法之外
- 无论创建多少个对象,类只拥有类变量的一份拷贝
- 静态变量除了被声明为常量之外很少使用,静态变量是指声明为public、private,final以及static,静态变量初始化以后不可以改变
- 存储在静态存储区,经常被声明为常量,很少单独使用static声明变量
- 静态变量在第一次被访问时创建,在程序结束时销毁
- 与实例变量具有相似的可见性,但是为了对类使用者可见,大多数声明变量为public类型。
- 默认数值和实例变量相似,数值类型变量默认是0,···
- 静态变量可以通过ClassName.VariableName的形式来访问
- 类变量被声明为public Static final类型时,类变量名称一般使用大写字母,不然命名方式与实例变量以及局部变量命名方式一致。