JAVA开发中的类与对象如何使用?

Python021

JAVA开发中的类与对象如何使用?,第1张

类分为两种:

1.抽象类

抽象类只能用来派生子类,不能创建抽象类的对象。如:

abstract class A

{

abstract void f()

}

//派生子类

class B extends A

{

void f()

{}

}

如果一个类包含抽象方法,那些个类必须定义成抽象类,但抽象类可以不包含抽象方法。

2.非抽象类

非抽象类可以派生子类,也可以创建非抽象类的对象。如:

class A

{

void f()

{}

}

//派生子类

class B extends A

{

void g()

{}

}

A a1=new A()

a1.f()

无论抽象类还是非抽象类都可以包含静态方法和静态属性。类的静态的方法和属性不需要创建对象,通过类名就可以使用,如:

//A是抽象类

abstract class A

{

void static f()

{}

static int n=100

}

//引用静态方法

A.f()

//引用静态属性n

int r=A.n

//B是非抽象类

class B

{

void static f()

{}

static int n=100

}

//引用静态方法

B.f()

//引用静态属性n

int r=B.n

而对象是类的实例化,类是对象的模板。可以用非抽象类来创建对象,然后使用类的实例方法和实例属性,如:

class A

{

void f()

{}

int n=1

}

//创建一个类A的对象

A a1= new A()

//使用实例方法和属性

a1.f()

int r=a1.n

此外,静态属性是属于类的,只有一个拷贝,被类的所有对象所共享。而实例属性是属于对象的,每个对象都有自己的一个实例属性的拷贝,彼此之间相互独立,互不影响。

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。

Java语言中对类Person的定义往往如下:

public class Person {

private String name//属性:姓名

private int height//属性:身高

private int weight//属性:体重

public Person() {}

public Person(String name, int height, int weight) {

this.name = name

this.height = height

this.weight = weight

}

//... some methods...

public void doSth() { //行为:

//... do something

}}

Java中的类

类可以看成是创建Java对象的模板。

通过下面一个简单的类来理解下Java中类的定义:

public class Dog{

 String breed int age String color void barking(){

 }

 void hungry(){

 }

 void sleeping(){

 }}

一个类可以包含以下类型变量

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。