Java 对象和类的关系/属性/成员变量/方法/UML图

04月11日 收藏 0 评论 1 java开发

Java 对象和类的关系/属性/成员变量/方法/UML图

文章申明:转载来源:https://www.cnblogs.com/jungle233/p/15499516.html

一、面向过程和面向对象的区别

简述

1.面向过程思想适合简单、不需要协作的事务。比如单纯驾驶汽车,不需要跟别人协作。
2.面向对象思想适合比较复杂的事务,无法列出1234步骤。比如如何造车?造车太复杂,需要很多协作才能完成。

总结

1.面向对象和面向过程都是解决问题的思维方式,都是代码组织的方式。
2.解决简单问题可以使用面向过程。
3.解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程

二、对象和类的概念

简述

1.对象有不同操作的方法、属性、变量等
2.类可以看做是一个模板或者图纸,系统根据类的定义来造出对象。
3.类:称之为 class 。对象:称之为 Object,instance(实例)。
4.某个类的对象等同于某个类的实例。同等含义。

类的定义

1.每个源文件必须有且只有一个 public class,并且类名和文件名保持一致。
2.一个 Java 文件可以同时定义多个 class
3.对于一个类来说,一般有三种常见的成员:属性field、方法method、构造器constructor。这三个成员都可以定义零个或多个。

代码示例:类的定义方式

// 下方定义的这些类都是空类,没有任何实际意义。还需要去定义类的具体信息。
// 每个源文件必须有且只有一个 public class,并且类名和文件名保持一致。
public class SxtStu {
}
// 一个 Java 文件可以同时定义多个 class
class Tyre{
}
class Emage{
}
class Try{
}

代码示例:简单的学生类编写

// 对于一个类来说,一般有三种常见的成员:属性field、方法method、构造器constructor。这三个成员都可以定义零个或多个。
public class SxtStu {
// 属性(成员变量)
int id;
String sname;
int age;
// 方法
void study(){
System.out.println("我正在摸鱼学习!");
}
// 构造方法
SxtStu(){
}
}

三、属性(field(成员变量))

简述

1.属性用于定义该类或该类对象包含的数据或者说静态特征。
2.属性作用范围是整个类体。
3.在定义成员变量时可以对其进行初始化,如果不进行初始化,Java 使用默认的值对其进行初始化。

属性定义格式

[修饰符]  属性类型  属性名 = [默认值];

成员变量默认值

四、方法

简述

1.方法用于定义该类或该类实例的行为特征和功能实现。比如一个学生类,他可以有学习或者玩游戏的行为特征或者说功能实现
2.方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。
3.面向过程中,函数是最基本单位,程序是由一个个函数调用组成。
4.面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。

方法定义格式

[修饰符]  方法返回类型  方法名(形参列表){
// n 条语句
}

代码示例:

public class SxtStu {
// 方法
void study(){
System.out.println("我正在摸鱼学习!");
}
void play(){
System.out.println("我在玩游戏!LOL手游!");
}
// 构造方法
SxtStu(){
}
}

代码示例:完整的对象与类方法的调用

1.程序必须要有 main 方法,作为程序执行的入口
2.构造方法:用于创建这个类的对象。无参数的构造方法可以由系统自动创建。
3.对于一个类来说,一般有三种常见的成员:属性field、方法method、构造器constructor。这三个成员都可以定义零个或多个。

public class SxtStu {
// 属性(成员变量)
int id;
String sname;
int age;
// 方法
void study(){
System.out.println("我正在摸鱼学习!");
}
void play(){
System.out.println("我在玩游戏!LOL手游!");
}
// 构造方法:用于创建这个类的对象。无参数的构造方法可以由系统自动创建。
SxtStu(){
}
public static void main(String[] args) {
// 定义创建一个类的对象
SxtStu stu = new SxtStu();
// 对象调用 play() 方法
stu.play();
// 对象调用 study() 方法
stu.study();
}
}

代码示例:模拟学生使用电脑学习

1.构造方法:用于创建这个类的对象。无参数的构造方法可以由系统自动创建。
2.对于一个类来说,一般有三种常见的成员:属性field、方法method、构造器constructor。这三个成员都可以定义零个或多个。

// 模拟学生使用电脑学习
class Computer {
String brand; // 电脑品牌
}

public class SxtStu1 {
// 定义属性(成员变量)
int year;
String sname;
int age;
// 在 SxtStu1 类中定义一个 Computer 类的对象
Computer comp;

// 定义方法
void study() {
System.out.printf("我正在使用%s这个品牌的电脑摸鱼学习!%n",comp.brand);
}
// 构造方法:用于创建这个类的对象。无参数的构造方法可以由系统自动创建。
SxtStu1(){
}

public static void main(String[] args) {
// 定义 SxtStu1 类的对象
SxtStu1 stu1 = new SxtStu1();
// stu1 对象调用 SxtStu1 类的属性(成员变量)并赋值
stu1.year = 2021;
stu1.sname = "阿jun";
stu1.age = 0;
// 定义 Computer 类的对象
Computer comp1 = new Computer();
// comp1 对象调用 Computer 类的属性(成员变量)并赋值
comp1.brand = "神舟战神";
// stu1 对象调用 comp 类属性(成员变量)并赋值为 comp1 的值
stu1.comp = comp1;
// 对象调用方法
stu1.study();
}
}

执行结果:

UML图示例

C 1条回复 评论
即刻打烊

只有懂得基本原理和协议规范的程序员才能摆脱搬砖码农这个束缚。

发表于 2023-01-24 21:00:00
0 0