---------------------- android培训、java培训、期待与您交流! ----------------------
小白的常用重要知识点:
EditPlus中
shift+alt+上下,移动选择内容
ctrl+j,复制当前行到下一行
ctrl+i,对齐
127和localhost的映射关系保存在下面文件中
c:\windows\systems\drivers\ect\host
JDK,java开发工具包,里面包含JRE(Java运行环境,里面包含JVM)
*.class中间文件,字节码文件.
set classpath=d:\;.; 设置类文件路径,JVM启动寻找class文件,先寻找classpath目录,如果有分号将继续寻找当前目录,可果没有分号将不再寻找当前目录,.代表当前路径
类中有成员变量和成员方法,成员变量初始会有默认值,成员方法中的变量为局部变量,不会有默认值
class:类,可以被extends,只有类可以被创建对象,下面两种不可以被创建对象
abstract:部分方法是抽象的类,可以被extends
interface:全部方法是抽象的类,可以被implements,常量一定用public static final修饰,方法一定用public abstract修饰
static不可以修饰局部类,可以修饰内部类
私有成员在本类中有效即private只在本类中有效
构造函数没有返回值,不得写return语句,构造函数可以给对象进行初始化
调用非静态方法,需要先有对象
new method().function();
对象调用成员
主函数调用本类中的方法,如果是直接调用的话,方法需要被static修饰,否则需要建立对象再调用方法
名字提炼法,老师用电脑上课:编写两个类,一个类是电脑,里面定义电脑的一些方法,一个类是老师,里面是老师的属性和方法
Outer.Inner in = new Outer().new Inner();//直接访问内部类功能
使用外部类名.内部类名 对象名 = 外部类对象.内部类对象
类不可以被private修饰,但内部类可以,因为内部类是外部类的成员类
当内部类被static修饰后,只能访问外部类中的static成员
当内部类中定义了静态成员,该内部类也必须是静态.
private,static只修饰成员
实现了Runnable接口都要建立对象
多态:父类引用指向子类对象(子类对象引用父类)
抽象类一定是非静态的
interface 使用 implements实现
主函数中调用Test.function().method();说明Test为类,function()为静态,method()为方法,返回值类型为method()方法所在的类.
throws和throw的区别
throws使用在函数上,throw使用在函数内
throws后面跟的异常类,可以跟多个,用逗号隔开
throw后跟的是异常对象
例:
class Demo
{
int div(int a,int b) throws FuShuException//throws定义在函数上,后跟的异常类
{
if(b<0)
throw new FuShuException("出现负数");//throw 定义在函数内,后跟异常对象
retrun a/b;
}
}
只要异常可以在内部解决(即:有catch),函数上就可以不必声明异常,但如果该异常是检测时异常,那么函数上必须声明
子类的实例化过程:子类中第一行默认会有一个父类的引用super();
接口中的成员都是公有的
this代表本类对象,哪个对象调用this所在函数,this就代表哪类对象
final:用来修饰类(该类不可以被继承),变量(成员变量,静态变量,局部变量,这些变量是一个常量,只能赋值一次),函数(不可以被覆盖)
throw单独存在时下面不要定义语句,执行不到编译会失败,还包括continue,break,return
多个catch时,父类的catch放在后面,否则编译失败
包package必须放在代码的第一行,包名所有的字母都小写
包中类的权限为公有(或protected),其内的成员也为公有(或protected)
外部类的两个权限:默认权限,公有权限
包与包之间只可以使用两种权限,public protected
包与包之间可以不继承就可以访问,但是:
当某包的权限为protected时,其它包只有继承此包时才可以访问
当一个类(或接口)被公有时,这个类(或接口)必须和java文件名保持一致.也以一个java文件中不可能会有两个或以上的公有类(或接口)
权限: public protected default private
同一个类中 ok ok ok ok
同一个包中 ok ok ok
子类 ok ok
不同包中 ok
要实现复写,权限必须大于等于原成员的权限
一个.java文件里面不得同时存在1个以上的公有类或公有接口.(类名公有后,类名需要和java文件名一致)
数据重定向:将需要显示的内容存放到其它位置
cmd中dir > C:\1.txt,将当前目录内容存放到1.txt中
对像存在于堆内存中
静态方法中不会存在this,静态同步代码块的锁是本类名.class
导入包:
c:\myclass\pack\Demo1.class
c:\myclass\pack\pack2\Demo2.class
导入时用:
import pack.*;
import pack.pack2.*;
也就是说,import只可以导入包中的类,不能导入包
等待和唤醒的都使用同一把锁
thread对象调用start
类类型变量必然指向对象
TreeSet集合中有两种比较方法:
一为使元素自身具备可比较性,使用实现Comparable接口并复写compareTo方法,这种方法不常用
二为集合的比较器方法.使用实现Comparator接口并复写compare方法,定义一个类,传入TreeSet构造函数中.
当第一种比较方法不是需要的方法时,写入第二种方法.因为当两种方法共存时,只有第二种方法生效
类中的静态成员会优先加载,所以不要用类中的静态成员去访问该类中的非静态成员,因为静态成员会访问不到非静态成员而出错
建立一个对象需要存入集合中时,一般在对象内部重写hashCode和equals方法(HashSet中常用到)
TreeSet中存入的对象要么自己实现比较方法(使对该对象继承Comparable,内部复写comparaTo),
要么用比较器实现比较(定义一个类继承Comparetor,内部复写compare方法,内部定义hashCode方法(有时也复写equals方法)并新建对象传给集合)
当描述一个类,继承Comparable方法时,一般该类中复写这三个方法
父类中的抽象方法,子类必须要实现,否则不能new对象
包:创建集合使用util包,操作IO使用IO包,操作GUI使用java.Awt和javax.Swing包
---------------------- android培训、java培训、期待与您交流! ----------------------