Java中类与类之间的关系是什么?

Python018

Java中类与类之间的关系是什么?,第1张

外部类,内部类,匿名类,外部类就是两个类并列的class

A

{}

class

B

{},内部类:class

A

{

class

B

{}},B可以直接使用包涵它的类的成员变量,内部类不能被除包涵类以外的类调用;还有就是匿名类,也是内部类

classA{new

{}}省略定义类名直接定义方法和使用,这个适用于代码比较简单且这个啊类不需要被其他类调用

1.关联

关联即对象与对象之间的连接。java类之间的关联是一个类的作为另一个的属性被定义,即“has-a”的关系。关联又分为组合与聚合两种。示例如下:

//两个类之间的聚合public class Car{}public class Person{

private Car car

}//两个类之间的组合public class Car{}public class Person{

private Car car=new Car()//创建一个Car对象}123456789101112

关联又分为单向关联与双向关联,以上代码为单向关联(Person类关联Car类),双向关联(Person类关联Car类,同时Car类关联Person类)代码如下:

public class Car{

private Person per

}public class Person{

private Car car

}123456

类之间的关联,可以一对一的关联,也可以一对多的关联。

2.依赖

依赖的具体表现是将一个类的对象当做方法参数传给另一个类的方法,是一种use-a的关系。如:

public class Person{

public void dirve(Car car){

}

}1234

关联与依赖的区别在于:关联是has-a的关系,依赖是use-a的关系而且关联中Person关联Car,只要Person类对象存在,Car对象就存在依赖中只有Person类对象调用到dirve()方法时,Car对象才会被创建,方法执行结束后,Car对象就被收回。

3.继承

类与类的另一个关系是继承。继承是一个类的定义基于另一个存在的类,即子类基于父类,如此可实现代码的重用,子类能够继承父类可访问的方法、属性,并能扩展新的能力,而且子类可重写父类方法以满足子类需要。在继承中子类可调用父类的构造方法,子类构造方法总是先调用父类的构造方法,而且默认情况下调用父类的无参构造方法,在子类构造方法的第一行使用super关键字即可调用父类构造方法。示例代码如下:

public class Point {

private double x private double y public double getX() {return x

}public void setX(double x) {this.x = x

}public double getY() {return y

}public void setY(double y) {this.y = y

} //无参构造方法

public Point() {

} //有参构造方法

public Point(double x, double y) {this.x = x this.y = y

} //draw()方法

public void draw(){

}

}public class Circle extends Point {

private double r public double getR() {return r

}public void setR(double r) {this.r = r

} //有参构造方法

public Circle(double x, double y) {super(x, y)

}public void draw() {

System.out.println("半径为:" + this.r + " x坐标为:" + getX() + " y坐标为:" + getY() + "的圆绘制成功!")

}

}public class Test {

public static void main(String[] args) {

Circle circle = new Circle(2, 3)

circle.setR(3)

circle.draw()

}

}

1.类是面向对象程序设计的核心,其实是一种复杂的数据类型,封装了不同类型的数据和与这些数据相关的方法。

2.类是抽象的(相当于现实生活中的模具,图纸),并不是最终的实体,将抽象化的类具体化后(就是按照模具,图纸生产出实际东西),就成了对象,通常将对象称为类的实体。

所以,类是将现实事物抽象化,而对象是将事物具体化。

举例:张三是一个学生,那么张三其实是比较具体的一个人,而学生则是一个抽象事物。此时可以创建一个学生类,包含学号,年龄,班级等。如果指明张三这些属性,则张三是学生类的一个实体。

创建学生类:student

public

class

student{

public

string

studentno

public

int

age

public

string

grade

}

这就是一个类,一个模具。

通过这个模具,可以生产出来很多产品:

student

zhang

=

new

student()

这句代码,即为创建了一个对象:zhang

希望lz能够通过这个实例,搞懂对象、类和实体之间的关系。