标签:
一、java语言的特性:面向对象、多线程、与平台无关、简单、高效、安全、健壮、可移植、解释性、动态、高性能等
面向对象的基本特征:封装、多态、继承
封装:把客观存在的事物封装成一个抽象的类,把成员变量(事物的属性)和成员方法(事物的行为)封装在类中。
通过四种修饰符public、protected、private和default设置访问权限。如下图
→ | 当前类 | 当前包 | 子类 | 其它包 |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
多态:可以理解为事物在不同情况下的不同行为。即类的实例在不同情况下的不同表现形式。
重新和重载是多态的两种表现形式:
重写是指在子类和父类之间,子类重新父类中已存在的方法。其中该方法的修饰符、返回值类型、方法名及参数列表和父类中的完全一致。
重载是指在同一个类中,定义多个方法名相同,但是参数列表不同的方法。
继承:指可以让某个类型的对象获得另外一个类型对象的属性和方法。即子类可以访问父类的非private修饰的成员变量和成员方法。
子类可以重写父类中的方法。
也可以在构造方法中通过super(参数列表)调用父类中的构造方法。
通过super.变量名/方法名调用父类中的成员变量和成员方法。
还可以在构造方法中通过this(参数列表)调用本类中其它的构造方法。
注:super(参数列表)、this(参数列表)必须放在构造方法的首行,且二者不能共存。
二、Java程序的基本结构:包、类、方法、标识符、关键字、语句、注释
标识符:由数字、字母、下划线及$符号组成,不能以数字开头且字母区分大小写。
关键字:常用的关键字如下
package、
import、
public、protected、private、abstract、class、extends、implements、interface
static、final、byte、short、int、long、float、double、char、boolean
new
super、this
void、main、throws
try
for、if、else、do、while、switch、case、default、break、continue、return
catch
throw
finally
注:
一、在java中有条规则,声明在类中的成员变量可以用修饰符修饰,且不强制赋值,会有默认初始值。但定义在方法中的局部变量不能用任何修饰符修饰,且在使用前必须进行初始化,若没有初始化则编译报错。
public class test(){
public String str;//成员变量可以用修饰符修饰
public void doPrint(){
String str1;//局部变量不能用修饰符修饰
System.out.println("str="+str);//成员变量在使用前可以不进行初始化,系统会自动默认初始值
System.out.println("str1="+str1);//局部变量在使用前必须进行初始化,否则编译不通过,提示局部变量str1尚未初始化
}
}
二、类中不能存在单纯的对成员变量赋值的语句,如下
public class test(){
public String str = "str";//成员变量
str = "";//此处编译不通过
}
在此类中语句str="";无法通过编译。可以在初始化函数中对变量进行赋值,也可以在动态语句块中对变量进行赋值。如下
public class test(){
public String str;
public test(String str){//初始化函数(构造方法)初始化成员变量
this.str = str;
}
{//语句块中对成员变量初始化
str = "";
}
}
标签:
原文地址:http://www.cnblogs.com/jiaolj/p/5408923.html