java类与对象
1.面向过程与面向对象
<1>.C语言:面向过程编程

基本概念
C语言是一种经典的面向过程编程语言,由丹尼斯·里奇(Dennis Ritchie)于1972年在贝尔实验室开发。面向过程编程(Procedural Programming)是一种以过程为中心的编程范式,它将程序视为一系列可调用的函数或过程的集合,强调按照一定的步骤顺序执行任务。
主要特点
- 函数为核心:C程序由一系列函数组成,每个函数完成特定的任务
- 顺序执行:程序按照从上到下的顺序执行指令
- 模块化:将复杂问题分解为多个较小、更易管理的函数模块
- 数据与操作分离:数据结构和操作数据的函数是分离
典型应用场景
- 系统编程:操作系统、设备驱动开发
- 嵌入式系统:微控制器编程
- 性能关键应用:游戏引擎、高频交易系统
- 编译器开发:许多编译器使用C语言实现
- 网络协议栈:TCP/IP协议实现
C语言因其高效性、可移植性和接近硬件的特性,仍然是计算机科学教育和系统编程领域的重要语言。
<2>.java语言:面向对象过程

Java是一种完全面向对象的编程语言,其面向对象的过程主要体现在以下几个方面:
1. 类和对象
Java程序的基本单位是类,类是对象的模板。例如:
public class Person {// 成员变量(属性)private String name;private int age;// 构造方法public Person(String name, int age) {this.name = name;this.age = age;}// 成员方法(行为)public void introduce() {System.out.println("我叫" + name + ",今年" + age + "岁。");}
}
2. 面向对象三大特征
封装
- 将数据和行为包装在类中
- 通过访问修饰符控制可见性(private/protected/public)
- 提供getter/setter方法访问私有属性
继承
- 使用extends关键字实现类继承
- 子类可以继承父类的非私有成员
- 支持单继承,但可以通过接口实现多重继承效果
public class Student extends Person {private String school;public Student(String name, int age, String school) {super(name, age);this.school = school;}@Overridepublic void introduce() {super.introduce();System.out.println("我在" + school + "上学。");}
}
多态
- 编译时多态(方法重载)
- 运行时多态(方法重写)
- 父类引用可以指向子类对象
3. 对象创建和使用过程
- 声明对象:
Person p; - 实例化对象:使用new关键字调用构造方法
p = new Person("张三", 25); - 初始化对象:构造方法执行初始化
- 使用对象:通过对象调用方法或访问属性
p.introduce();
Java的面向对象特性使程序更模块化、更易维护和扩展,是Java成为企业级应用首选语言的重要原因之一。
2.类
public class Cat {public String name;public int age;public String sex;public String color;//构造方法 ----->一个特殊方法//构造方法名称与类名相同,构造方法没有返回值类型//在java类当中有一个默认不显示的无参构造方法//一旦我们在java类当中重写了默认的无参构造方法,他就会被覆盖public Cat(){}public Cat(String name){}public Cat(String name,int age,String sex,String color){this.name = name;this.age = age;this.sex = sex;this.color = color;}public void eat(){System.out.println("吃好吃");}public int sleep(){System.out.println("睡睡觉");return 0;}public void play(){System.out.println("玩玩玩");}
}
package com.qcby;public class Demo {public static void main(String[] args) {Cat cat1 = new Cat();cat1.eat();cat1.sleep();Cat cat2 = new Cat();cat2.eat();cat2.sleep();}
}

* Cat 数据类型 表示数据在内存当中的存储形式
* cat1 变量名(对象名称)
* new 关键字 表示在堆当中开辟内存空间(创建对象)
* Cat() 构造方法:创建对象的时候调用构造方法, 给对象赋值
* = 赋值(将创建出对象的地址值赋值给变量....)
类是面向对象编程(OOP)中的核心概念,它充当创建对象的蓝图或模板。在程序中,类定义了对象将具有的属性(数据)和方法(行为)。具体来说:
类的组成:
- 属性:描述对象特征的变量(也称为成员变量)
- 方法:定义对象行为的函数(也称为成员函数)
- 构造方法:用于初始化新创建对象的特殊方法
类与对象的关系:
- 类就像设计图纸,对象是根据图纸建造的具体实例
- 例如,"汽车"类可能包含品牌、颜色等属性,以及启动、加速等方法
- 根据这个类,可以创建多个具体的汽车对象(如红色奥迪、蓝色宝马等)
关键特点:
- 封装性:将数据和操作数据的方法捆绑在一起
- 复用性:一个类可以创建任意数量的对象
- 独立性:每个对象都有自己的属性值,互不影响
通过使用类,开发者可以更好地组织代码,提高代码的可维护性和复用性,这是面向对象编程的重要优势之一。
3.类与对象的应用(链表)
链表的节点是一个对象
public class Node{public int data;public Node next;//Node数据类型表述数据在内存当中的存储形式public Node(int data,Node next){this.data=data; }
}
public class Test{public static void main(String[] args){Node node1=new Node(1); Node node2=new Node(2);Node node3=new Node(3);Node node4=new Node(4);node1.next=node2 ;node2.next=node3;node3.next=node4; }
}
4.类当中的访问修饰符

修饰符 | 当前类 | 同包 | 同包子类 | 不同包子类 | 其他包 |
public | √ | √ | √ | √ | √ |
protected | √ | √ | √ | × | × |
默认 | √ | √ | √ | × | × |
private | √ | × | × | × | × |
