Java学习笔记(2)
1、在类中,当定义的局部变量的名字和成员变量的名字相同时,则成员变量被隐藏,使用的是局部变量。要想使用成员变量,必须通过关键字this来引用
1 class variabletest 2 { 3 int intTemp = 34; 4 void Method() 5 { 6 int intTemp = 24; 7 int intValue1, intValue2; 8 intValue1 = intTemp; 9 intValue2 = this.intTemp; 10 System.out.println(intValue1); 11 System.out.println(intValue2); 12 13 } 14 public static void main (String[] args){ 15 variableTest Test = new varibaleTest(); 16 Test.Method(); 17 } 18 }
2、类的成员方法实现了类所具有的行为,一般格式如下:
[修饰符] 返回类型 方法名称(方法的参数列表){
// 方法语句体
}
3、类中,方法的重载是指一个类中可以有多个方法具有相同的名字但这些方法的参数必须比同,不同之处可以是参数的类型和参数的数量。
4、构造方法通常用来完成对象的初始化工作。名称必须与类名相同,没有返回值,关键字void也不能有
5、在类中,当把一个简单类型传递给方法时,是按值传递的。
6、对象的创建包括声明和为对象分配内存两个步骤:
Circle objCircle = new Circle(); //声明类对象objCircle的同时为其分配内存空间
7、为了更好地分割类,jave提供了包机制。包是类的容器,用于分隔类名空间。在包中,除了声明为private的成员变量和方法外,类中所有的成员变量和方法都可以被同一包中的其他类和方法访问。包通过关键字package声明。package语句必须作为Java源文件的第一条语句,用来指明该源文件定义的类所在的包,一般格式为:
package PackageName;
8、在类的声明中,通过使用关键字extends来创建一个类的子类。其格式如下:
class ChildClass extends FatherClass
如果一个类的声明中,没有使用extends关键字,这个类将被系统默认为是 Object的子类,Object是java.lang包中的类。
9、Java不采用C++语言中的多重继承机制,Java中的继承采用单重继承,即每一个类只能有一个父类。
10、多态:当类从某个父类中派生出来时,可能需要修改父类中某个方法的实现方式,多态机制能够分别实现用于不同子类的方法,但方法的定义在共同的父类中进行,当子类中的方法被调用时,启动的是该子类的方法,尽管该方法的实现在各个子类之间是不同的,但是对外部调用来说,不必关心具体的实现,只需关心其共同的接口。
11、抽象类是Java中一种特殊的类。抽象类不能创建对象,而只能由其派生子类创建。抽象类是专门作为其他类的父类来使用的。抽象类用关键字abstract修饰符来定义。abstract 放在class之前。
abstract class ClassName
用关键字abstract来定义抽象方法
abstract returnType methodName()
12、Java通过接口实现多重继承的特点。定义一个接口通过使用关键字interface来实现。
interface 接口名
{
// 接口体中的变量和方法
}
在Java的接口中,所有的方法都是抽象的方法,所有的变量都是static常量
一个类通过使用关键字implements声明自己使用一个或多个接口。若使用多个接口,接口名之间用逗号隔开。格式如下:
class ClassName implements Interface1, Interface2
接口中的方法全部是抽象的方法,故实现此接口的类必须实现接口中的所有方法。要在类中实现接口的方法,方法的名字、返回类型、参数个数以及类型必须和接口中的完全一致。
使用关键字extends,一个接口可以继承另一个接口,其语法与继承类时的语法相同。当一个类实现了一个接口,而该接口继承了另一个接口时,此类必须实现所有接口中的方法。
接口中的抽象方法不能有private和protected修饰符修饰,只能有public修饰或默认。