【前言】最近工作涉及到了安卓的反编译,对于java和android的这部分知识,只有利用空闲时间来自学,给自己充电。我就照着网上的教程,一点一点的先把java的基础知识过一遍。然后在照着android的教程来一遍。
一、java对象和类
1、java命名规则:源文件名:与类名保持一致,且首字母必须大写;
类名:类名的首字母应该大写,形如MyFirstJavaClass;
主方法入口:所有的java程序由public static void main(String[] args)开始;
2、java修饰符,主要有两类:
可访问修饰符:default,public,protected,private
不可访问修饰符:final,abstract,strictfp;
3、java枚举限制变量只能是预先设定好的值。使用枚举可减少代码中的bug;
4、java创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型;
实例化:使用关键字new来创建一个对象;
初始化:使用new关键字创建对象时,会调用构造方法初始化对象;
5、源文件声明规则:
一个源文件中只能有一个public类;
一个源文件可以用多个非public类
源文件名称应该和public类的类名保持一致
如果一个类定义在某个包中,那么package语句应该在源文件的首行
4、导入其他包中的类:import 包.类;如import tree.*;其中tree为一个包;
二、java基本数据类型
1、变量就是申请内存来存储值。也就是说当创建变量的时候,需要在内存中申请空间;
2、java的八种基本类型:byte,short,int,long,float,double,Boolean,char;
3、java常量就是一个固定值,不需要计算,直接代表相应的值;用final标志,声明方式为:
final double PI = 3.1415927
通常使用大写字母表示常量。
0、 java变量类型有:局部变量、实例变量、类变量
1、 java局部变量在栈上分配;
2、 java局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用;
3、 java实例变量(成员变量)具有初始值;
4、 java类变量也成为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外;
5、 无论一个类创建了多少个对象,类只拥有类变量的 一份拷贝;
6、 静态变量存储在静态存储区,经常被声明为常量,很少单独使用static声明变量;
7、 静态变量在程序开始时创建,程序结束时销毁,注意与局部变量、实例变量的区别;
8、 静态变量可以通过 类名.静态变量名 的方式访问;
9、 类变量被声明为public static final 类型时,类变量名必须使用大写字母。
如: private static double salary;
public static final String DEPARTMENT = "Development"
1、java的修饰符主要分为两类:
访问修饰符
非访问修饰符
2、修饰符主要用来定义类、方法或者变量,通常放在语句的最前端;
3、访问控制修饰符:
默认的。也成为default,在同一包内可见,不使用任何修饰符;
私有的。以private修饰指定,在同一类可见;
共有的。以public修饰符指定,对所有类可见;
受保护的,以protected修饰指定,对同一包的类和所有子类可见。
4、abstract修饰符,即抽象类。抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充;
5、一个类不能同时被abstract和final修饰,如果一个类包含抽象方法,那么该类一定要声明为抽象类;
6、抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供;
7、任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类;
8、抽象方法的声明以分号结尾:public abstract sample();
9、synchronized、transient、volatile都是线程相关的修饰符。
1、 声明数组,建议采用 int []array new int[10];方式;