JAVA基本术语

一、函数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

修饰符  返回值类型  函数名(参数类型 形式参数1,参数类型 形式参数2,„){

 执行语句;

 return 返回值;

 } 

当函数没有具体的返回值时,返回的返回值类型用void关键字表示。

 如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

 return的作用:结束函数。结束功能。

 

二、重载:在一个类中,如果出现了二个或二个以上的同名函数,只要它们的参数个数或参数的类型不同,则可称该函数重载。

 

三、数组:用于存放同一类型数据的一个容器。

      数组的二种表现形式:

      1)元素类型[] 数组名=new 元素类型[元素个数];

      2)元素类型[] 数组名={元素1,元素2,...};

         元素类型[] 数组名=new 元素类型[]{元素1,元素2,...};

 

四、对象:即对各种具体物体抽象后的一个概念。如:学生、电脑、手机之类。学生有学号、姓名、班级、年龄等特性,称之为对象的属性。对象还有功能,如学生可以打篮球、上课、玩游戏等功能,这些功能被称为对象方法,实际上这种方法就是函数。外部访问对象内的属性或方法,必须先引用对象(对象 名字=new 对象();),然后用点号访问对象的属性和方法(名字.属性或名字.方法)。

 

五、类:是作为对象的抽象而存在的,所有的对象都依据相应的类来产生,在面向对象的术语中,这个产生对象的过程称为“实例化”。

           在Java类的定义规范里面,有两方面内容来对应类中的数据和行为:

           1)属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)

           2)方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)

 

六、对象实例化:相当于定义了一个对象,但是并不能直接用。那么就必须实例化才能用:对象 名字=new 对象();那么名字就是对象的实例化。

 

七、JAVA对象属性修饰符:public、protect、default、private权限问题

                          public:能够被本类、同包、子类、其它包所调用使用

                          protect:能够被本类、同包、子类所调用使用

                          default:能够被本类、同包所调用使用

                          private:只能被本类所调用使用。如果想被其它类所用,则添加Get和Set方法。规范写法:对于属性xxx,用setxxx(){},getxxx(){}对其操作。

 

八、面向对象的三大特性:继承(extends )、封装、多态

                            继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和方法,并能扩展新的能力。相当于儿子继承父亲的产业,获得父亲所用的属性和方法,并能使自己扩展新的方法。JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。但一个父类可以被多个子类继承。 class b extends a{……} b类继承a类

                            封装:把过程和数据包围起来,控制用户对类的修改和访问数据的程度,对数据的访问只能通过已定义的接口。在java中通过关键字private实现封装。用Set和Get定义方法来访问数据。

                            多态:接口的多种不同的实现方式即为多态。方法的重写和重载是JAVA多态性的不同表现。

                                     重写是父类与子类之间多态性的一种表现。

                                     重载是一个类中多态性的一种表现。

                                      如果在子类中定义的某方法与其父类有相同的名称和参数,则称之为重写

 

九、static:表示"静态"意思。用来修饰成员变量和成员方法。被修饰的成员变量和成员方法独立该类的任何对象。不依赖类特定的实例,被类的所有实例共享。即:被static修饰的成员变量和成员方法不需要实例化就可以直接使用,可以直接通过类名来访问,访问语法为:

                                                                                                               类名.静态变量名

                                                                                                               类名.静态方法名(参数列表...)

因此静态方法中不能用this和super关键字。

 

十、final:指这个变量不可再次被赋值,而变量所代表的对象,其具有的任何属性都可以变化。

 

十一、构造函数:即构造方法。构造函数在对象被创建时就会被调用,用户初始化,而且只能执行一次。而一般函数,是对象创建后,需要调用才执行,可以被调用多次。一个类中可以有多个构造函数,多个构造函数是以重载的方式来体现的。

 

十二、接口(interface):接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口中没有构造方法,不能把实例化。必须通过类来实现(implements)它的抽象方法。一个接口不能实现多个接口,但它能继承多个接口。当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类。不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例。一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承。

                                接口的定义:

                                      public interface USB //定义一个抽象类USB接口
                                    {
                                        public void insert(); //插入方法
                                        public String read(); //读
                                        public String write(String s); //写
                                        public void pop(); //弹出
                                       }

                                接口的实现:

                                     public class UDisk implements USB //实现 USB接口
                                     {
                                          public void insert(){} //插入方法具体实现
                                          public String read(){} //读具体实现
                                          public String write(String s){} //写具体实现
                                          public void pop(){} //弹出具体实现
                                      }

                                  接口的引用:

                                     public static void main(...)
                                     {
                                     USB u=new UDisk();

                                      u.方法名(参数);
                                      }

 

十三、抽象类:使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。

                    抽象方法声明时采用的语法:

                          abstract void f();

 作用:通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性,

例如:
abstract class A {
public abstract void doSomething();
}

class B extends A {
public void doSomething() {
System.out.println("do B");
}
}

class C extends A {
public void doSomething() {
System.out.println("do C");
}
}

public class Test {
public static void main(Stringp[] args) {
A a1 = new B();
A a2 = new C();
B b = new B();
C c = new C();
doSomething(a1); //这里
doSomething(a2); //这里
doSomething(b); //这里,如果下面的方法不是用抽象类作参数,比如用C c做参数,这里会有什么问题?
doSomething(c); //这里
}

public static void doSomething(A a) {//这里,用抽象类,为什么,自己思考
a.doSomething();
}
}

//这个例子只是抽象类的最基本的设计模式,和接口差不多

 

接口与抽象类的区别:抽象类(abstract class)是具体类的继承(extends)。接口(interface)是具体类的实现(implements )。

                              抽象类既有方法的具体实现,又有没有具体实现的抽象方法。接口只能定义方法,而不能有方法的实现。

                              

posted @ 2015-11-05 13:07  郑寿奎  阅读(1612)  评论(0编辑  收藏  举报