Java入门基础
Java的工作方式
- 编写源代码文件(以.java结尾),然后用编译器运行源代码,编译器会产生字节码(以.class结尾)文件,最后通过java虚拟机(JVM)读取和执行字节码文件。
定义标识符应遵循的规则
- 包名所有字母一律小写。
- 类名和接口名每个单词的首字母都要大写。
- 常量名所有的字母都要大写。
- 变量名和方法名的第一个单词首字母小写,从第二个单词开始首字母大写。
对象的创建
- 类名 对象名=new 类名()
- 将对象在内存中的地址付给了变量,由此便持有了对象的引用。
- 引用格式:对象引用.对象成员
局部变量与实例变量
- 实例变量声明在类中而不是在方法中
- 局部变量声明在方法中
- 局部变量使用前必须初始化,局部变量没有默认值
break与continue语句
- 当break语句出现在switch条件语句当中时,作用是终止某个case并跳出switch结构。
- 当break语句出现在循环语句中,作用是跳出循环语句,执行后面的语句。
- continue语句在循环语句中,他的作用是终止本次循环,执行下一次循环。
构造方法
- 方法名与类名相同
- 在方法名前面没有返回值类型
- 在方法中不能用return语句返回一个值
- new 类名()除了会实例化类对象外还会调用构造方法
this与super关键字
- 通过this关键字可以明确的访问一个类的成员变量,解决与局部变量命名冲突的问题。
- 通过this关键字调用成员方法。
- 可以在一个构造方法中使用this()的形式来调用其他的构造方法。
- This()只能在构造函数中,且必须在第一行。Super和this不能一起用
- 使用super关键字调用父类的成员变量和成员方法。格式如下:super.成员变量; super.成员方法()
- 使用super关键字调用父类的构造方法,通过super调用的父类的构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。
final关键字
被final修饰的类,变量和方法具有以下特性:
- final修饰的类不能被继承。
- final修饰的方法不能被子类重写。
- final修饰的变量是常量,只能赋值一次。
抽象类
- java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,必须使abstract关键字来修饰。当一个类包含了抽象方法时,该类必须使用abstract来修饰,但抽象类可以不包含任何抽象方法。
- 抽象类是不可以被实例化的,因为抽象类中可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。如果想用抽象类中定义的方法,则需要创建一个子类,在子类中将抽象类的抽象方法进行实现。
接口 - 如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另外一种方式来定义,在定义接口时,用interface关键字来声明
- 接口中定义的方法默认使用“public abstract”修饰,即抽象方法。;接口中的变量默认用“public static final”来修饰,即全局常量。
- 由于接口中的方法都是抽象方法,因此不能通过实例化对象的方式来调用接口方法。此时需要调用一个类,并使用implements关键字来实现接口中的所有方法。
- 在程序中还可以定义一个接口使用extends关键字去继承另一个接口(类似于父类继承子类)
- 当一个类实现接口时,如果这个类是抽象类,则实现接口部分方法即可,否则需要实现接口中的所有方法。
- 一个类通过implements关键字实现接口时,可以实现多个接口,被实现的多个接口之间用逗号隔开。
- 一个接口通过extends关键字继承多个接口,接口之间用逗号隔开。一个类在继承另一个类的同时还可以实现接口。
String类
- indexOf(int ch)返回指定字符在此字符串中第一次出现的索引
- charAt(n)返回某个位置指定的字符
- toCharArray();将字符串转化为字符数组
- replace()转换两个字符
- trim()去除空格
- subString(),用来截取字符串的一部分
- split(),可以将字符串按照某个字符划分
匿名内部类
- 匿名内部类就是没有名字的内部类 ;多用于关注实现而不关注实现类的名称