本文目录一览:
java 中类与类之间关系,并举例说明...并说下什么是面向对象.
- 类是面向对象程序设计的核心,其实是一种复杂的数据类型,封装了不同类型的数据和与这些数据相关的方法。
- 类是抽象的(相当于现实生活中的模具,图纸),并不是最终的实体,将抽象化的类具体化后(就是按照模具,图纸生产出实际东西),就成了对象,通常将对象称为类的实体。 所以,类是将现实事物抽象化,而对象是将事物具体化。 举例:张三是一个学生,那么张三其实是比较具体的一个人,而学生则是一个抽象事物。此时可以创建一个学生类,包含学号,年龄,班级等。如果指明张三这些属性,则张三是学生类的一个实体。 创建学生类:student
public class student {
public string studentno;
public int age;
public string grade;
}
这就是一个类,一个模具。 通过这个模具,可以生产出来很多产品:
student zhang = new student();
这句代码,即为创建了一个对象:zhang
希望你能通过这个实例,搞懂对象、类和实体之间的关系。
Java中类与类之间的关系是什么?
- 外部类:两个类并列的 class
class A {}
class B {}
- 内部类:一个类定义在另一个类的内部
class A {
class B {}
}
内部类可以直接使用包含它的类的成员变量,且不能被除包含类以外的类调用。
- 匿名类:没有类名的类,通常用于代码比较简单且不需要被其他类调用的场景
new SomeClass() {
// 匿名类的实现
};
java中类与类之间的关系讲解
1. 关联
关联即对象与对象之间的连接。Java类之间的关联是一个类作为另一个类的属性被定义,即“has-a”的关系。关联又分为组合与聚合两种。 示例:
public class Car {}
public class Person {
private Car car; // 聚合
}
public class Car {}
public class Person {
private Car car = new Car(); // 组合
}
关联又分为单向关联与双向关联:
- 单向关联(Person类关联Car类)
public class Car {}
public class Person {
private Car car;
}
- 双向关联(Person类关联Car类,同时Car类关联Person类)
public class Car {
private Person per;
}
public class Person {
private Car car;
}
类之间的关联,可以是一对一的关联,也可以是一对多的关联。
2. 依赖
依赖的具体表现是将一个类的对象当做方法参数传给另一个类的方法,是一种“use-a”的关系。 示例:
public class Person {
public void drive(Car car) {
}
}
关联与依赖的区别:
- 关联是“has-a”的关系,依赖是“use-a”的关系;
- 关联中,只要 Person 类对象存在,Car 对象就存在;
- 依赖中,只有 Person 类对象调用到
drive()
方法时,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();
}
}
Java类与类之间的关系
Java类与类之间的关系,这个概念有点模糊。Java编程是面向对象的,一个Java实体类就是一个对象,例如“人”,他的属性是姓名、年龄、职业等。另外有一个实体类叫做“动物”,它包含“人”、“鸟”、“鱼”等,这个类中“人”就是动物的一种。他们之间就可以有关系。但是大部分的类其实是没有必然联系的。