面向对象1—类

。可以将类当做一种自定义类型(引用类型),使用类来定义变量(引用变量)

。类和对象是面相对象的核心

。类是对象的抽象,对象是类的具体实例

定义类

。[修饰符] class ClassName{

       零到多个构造器定义;

       零到多个成员变量;

       零到多个方法;

}

。类访问修饰符

       。。public

              *访问控制符。将类声明为公共类,可以被任何对象访问。一个程序的主类必须是public

       。。final

              *将一个类声明为终止(非继承类)。不能被其他类继承

       。。abstract

              *将类声明为抽象类。没有实现方法,需要子类提供实现方法

       。。或忽略

。构造器

       。。一个类创建对象的根本途径,如果类没有构造器,则无法创建实例

       。。如果没有编写构造器,Java提供默认构造器

       。。[修饰符] 构造器名(形参列表)

              *修饰符

      **可以省略,可以是public、protected、private之一

              *构造器名

                     **必须与类名相同

       。。不能定义返回类型也不能用void声明构造器没有返回值;否则当成方法处理

。成员变量

       。。[修饰符] 类型 成员变量名[=默认值];

       。。修饰符

              *public

                     **访问控制修饰符:当前类、同包、子孙类、其他包、其他包子孙类

                     **可与static、final组合使用修饰成员变量

              *protected

                     **访问控制修饰符:当前类、同包、子孙类

                     **可与static、final组合使用修饰成员变量

              *default/忽略

                     **访问控制修饰符:当前类、同包

                     **可与static、final组合使用修饰成员变量

              *private

                     **访问控制修饰符:当前类、同包

                     **可与static、final组合使用修饰成员变量

              *static

                     **非访问控制修饰符

                     **声明独立于对象的静态变量,无论实例化多少个对象,其静态变量只有一份拷贝

                     **静态变量也被称为类变量

                     **局部变量不能被申明为static变量

              *final

                     **非访问控制符

                     **变量编程常量,不能被修改

       。。默认值

             * 成员变量可以指定默认初始值

。方法

       。。[修饰符] 方法返回值 方法名(形参列表){

              零到多条的可执行性语句组成的方法体

              }

       。。修饰符

              *public

                     **访问控制修饰符:当前类、同包、子孙类、其他包、其他包子孙类

              *protected

                     **访问控制修饰符:当前类、同包、子孙类

              *default

                     **访问控制修饰符:当前类,同包类

              *private

                     **访问控制符:当前类

              *static

                     **声明独立于对象的静态方法

                     **静态方法不能使用非静态变量

                     **静态方法从参数列表得到数据,然后计算这些数据

              *final

                     **inal方法可以被子类继承,但不能被子类修改

                     **声明final方法目的是防止该方法被修改

              *abstract

                     **抽象方法是一种没有任何实现的方法,具体提实现由子类提供

                     **抽象方法不能被声明为final或static

                     **任何继承抽象类的子类必粗实现父类的所有抽象方法,除非该子类也是抽象方法

                     **如果一个方法包含若干个抽象方法,则该方法必须声明为抽象类;

                     **抽象类可以没有抽象方法

       。。方法返回值

              *基本类型、引用类型或void

              *声明方法返回值,则必须包含一个有效return

       。。方法名

       。。形参列表

。注

       。。修饰符参考 http://www.runoob.com/java/java-modifier-types.html#protected-desc

猜你喜欢

转载自www.cnblogs.com/Demetris/p/9149668.html