
Java面向对象编程思想详解
下载需积分: 15 | 210KB |
更新于2024-07-30
| 122 浏览量 | 举报
2
收藏
Java 面向对象思想总结
面向对象思想是 Java 编程语言的核心思想之一,它是描述现实世界中对象的交互和关系的编程范式。面向对象思想的三个基本特征是封装、继承和多态。
封装
封装是面向对象思想的第一个特征,它是指将类的属性封装起来,通过公有的方法进行属性的赋值,并在方法中进行一定的逻辑判断,再通过公有的方法进行属性的取值。封装的好处是提高了类的安全性和可维护性。
在 Java 中,封装可以通过将类的属性设置为 private 来实现,然后提供 public 方法来读写操作。例如:
```java
public class MyDate {
private int year;
private int month;
private int day;
public MyDate(int year, int month, int day) {
setYear(year);
setMonth(month);
setDay(day);
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
// ...
}
```
继承
继承是面向对象思想的第二个特征,它是指一个类继承另一个类的所有成员变量和方法。继承的关键字是 extends,在 Java 中,一个类只能继承一个直接父类。
继承的优点是可以提高代码的重用性和可维护性。例如:
```java
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Dog extends Animal {
public void eat() {
System.out.println("Dog is eating.");
}
}
```
多态
多态是面向对象思想的第三个特征,它是指一个事物的多种形态。多态可以体现在基本类型、方法、类或者接口等方面。
在 Java 中,多态可以通过方法的重载和重写来实现。例如:
```java
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog is eating.");
}
}
```
多态的四种情况是:
1. 基本类型的多态
2. 方法的多态(同名方法的多种形态,从而进行重载或者重写)
3. 类或者接口的多态(Person p = new Teacher(),此时 Person 是类,或者 Person p = new PersonImp(),此时 Person 是接口)
4. 参数的多态(涉及到类型自动提升,实质也是基本类型或类和接口的多态)
需要注意的是,在多态的情况下,如果把子类对象当作父类对象来看,那么就只能访问父类中有的属性和方法。如果子类将父类的方法覆盖了,而把子类对象当作父类对象来看,再调用该方法时,其实调用的是覆盖后的方法。
例如:
```java
Person p = new Teacher();
p.test(); // 调用的是 Teacher 中的 test() 方法
```
面向对象思想是 Java 编程语言的核心思想之一,它提供了一种描述现实世界中对象的交互和关系的编程范式。通过封装、继承和多态这三个基本特征,可以提高代码的重用性、可维护性和可读性。
相关推荐









24K男
- 粉丝: 1
最新资源
- 实用类QQ抽屉导航工具代码:强大的界面开发解决方案
- VB与PLC通讯实战:LG系列程序代码详解
- VC环境下生成的分形开花小树探索
- 《谭浩强C语言教程》完整版Word文档
- jQuery 1.1 中文版API离线文档访问指南
- ASP.NET学习资源 - 探索博客网站开发
- 基于Ajax的视频聊天室源代码分析
- 掌握计算方法:实习详解插值、积分与拟合
- 北邮软件工程课程全面解读
- .NET环境实现MSSQL数据库操作的无SQL语句方法
- YOYOPlayer1.x源码解析与Java实现关键技术
- ASP.NET实现电子邮件发送接收全过程解析
- 80个实用JavaScript脚本实例教程
- .NET平台下实现无SQL语句操作Access数据库
- 基于JSP技术的雅士力OA办公管理系统开发
- Rational Rose 2003:深入UML工具教程
- 高弹性报表设计器FastReport数据源接入指南
- 程序员考试真题集1987-2008:含完整答案解析
- JFreeChart源代码免费分享:让你轻松绘制图表
- 网吧管理系统服务器端核心功能解析
- VCLSkin在VC中实现界面换肤的最佳实践
- 全面介绍测试新手的学习指南及基础知识点
- 野狼技术联盟推出流行病毒专杀工具
- 水晶桌面日历:美观与实用性兼备的效率工具