java面向对象——类

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,表示这个类不能被继承,可以避免开发者编写的类被别人继承后修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值