您的位置:首页 > 编程语言 > Java开发

java面向对象——类

2015-05-01 08:40 99 查看
OOP——Object Oriented Programming是java最大的特点,而且他不和C++一样,java属于彻头彻尾的面向对象,每一个文件都是以类的形式出现,main函数也包括在一个大类中。

1、关于类的声明定义如下模板:

class User{

String name;
//成员变量

int age;

public void show()

{

System.out.println("用户姓名是:"+name+",年龄是:"+age);
//成员方法

}

}

2、成员变量的修饰符:

static:表示一个类成员静态变量,它仅在生成第一次对象时分配内存,相当于全局变量,所有实例对象共享一个,会互相改变影响。属于类,可通过类名直接访问。

final:表示一个常量,只能被引用不能被改变,相当于c++中的const。

3、成员方法:注意必须属于某个类,不能定义一个不属于任何类的方法。修饰符:

static:静态方法,可通过类名直接调用,当然也可以由实例对象调用。

abstract:抽象方法,只有方法声明,没有方法体。

final:最终方法,在子类中不能被覆盖。

4、类的构造方法

名字与类名一致,在创建对象时用来对成员变量进行初始化。注意名字要和类名一样,而且不能有返回值,特别要注意的是,前面连void也不能加。

此外,构造方法可以重载(即名相同,参数不同)。

5、对象的创建

<类名> <对象名> = new 构造方法();

如:

User usr1 = new User(); //默认构造方法

User usr2 = new User("sun",28); //自定义构造方法(重载)

6、类的封装权限

类的访问权限只有两种,默认和public。在同一个文件中,只能有一个是public公共类,而且要求这个类的名字必须与文件名相同,main方法也要在公共类中。默认的权限不能超过包。main方法的编写:public static void main(String argv[]){}

成员的访问权限:

public:可以被任何其他所有类访问。

protected:可以被同一包中的类和其他包中该类的子类访问。

默认:能被同一包中的类访问。

private:只能被同一包中的成员访问。

7、类的继承

class subclassname extends superclassname{}

和C++不同的是,java不支持多重继承,子类只能有一个父类。

关于方法的重载和覆盖:

重载:同一类中,相同名字不同参数。

覆盖:父类和子类,子类方法覆盖父 类方法,名字和参数都应该相同。

8、抽象类

首先理解之定义方法声明,不一定方法实现的思想。

定义方式是在类名和方法名之前加上abstract:

abstract class Student{

int stu_id;

void set id(int id){

stu_id = id;

}

//定义抽象方法

abstract void show id();
//一定要注意分号,表示结束了,没有具体的方法体

}

注意到,抽象类中也可以有非抽象方法,但有抽象方法的类就是抽象类。如果它的子类没有将抽象方法进行具体的实现,那么子类也变成抽象类了。

9、最终类

类名之前加上final,表示这个类不能被继承,可以避免开发者编写的类被别人继承后修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: