网站首页 > java教程 正文
JAVA面向对象的三个基本特征是:
- 封装(Encapsulation):封装是指将数据和方法(行为)组合在一起,形成一个独立的单元。这个单元对外部世界隐藏了内部实现细节,只对外部提供了访问接口。封装可以保护数据的安全性,提高代码的可维护性和可重用性。
- 继承(Inheritance):继承是指通过扩展已有类的属性和方法来创建新类的过程。新类可以重用已有类的代码,同时也可以添加自己的代码。继承可以提高代码的复用性和扩展性。
- 多态(Polymorphism):多态是指同一个方法在不同情况下的不同表现形式。在JAVA中,多态可以通过方法重载和方法重写来实现。多态可以提高代码的灵活性和扩展性。
以下是一个简单的JAVA面向对象的例子:
假设我们要创建一个“动物”类,这个类有两个属性:名称和年龄,以及一个方法:发出声音。我们可以用JAVA面向对象的三个基本特征来实现这个类:
- 封装:我们可以将“名称”和“年龄”属性私有化(private),并通过公有的(public)getter和setter方法来访问和修改这些属性。同时,我们可以将“发出声音”方法公有化,让外部可以调用这个方法。
- 继承:我们可以创建一个“猫”类和一个“狗”类,这两个类都继承自“动物”类。这样,“猫”和“狗”类就可以重用“动物”类的属性和方法,同时也可以添加自己的属性和方法。
- 多态:我们可以在“动物”类中定义一个名为“发出声音”的方法,然后在“猫”类和“狗”类中分别重写(override)这个方法,使得“猫”和“狗”发出的声音不同。这样,当我们调用“猫”和“狗”的“发出声音”方法时,它们的行为就表现为多态性。
一个简单的JAVA面向对象的代码例子,实现了上面所述的“动物”类和“猫”类:
// Animal类
public class Animal {
private String name;
private int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void makeSound() {
System.out.println("Animal is making sound...");
}
}
// Cat类
public class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
@Override
public void makeSound() {
System.out.println("Cat is meowing...");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Animal animal = new Animal("Animal", 3);
animal.makeSound(); // 输出:Animal is making sound...
Cat cat = new Cat("Tom", 1);
cat.makeSound(); // 输出:Cat is meowing...
}
}
在上面的代码中,我们定义了一个“Animal”类,这个类有“name”和“age”两个私有属性,以及“makeSound”方法。然后我们又定义了一个“Cat”类,这个类继承自“Animal”类,并重写了“makeSound”方法。在测试类中,我们创建了一个“Animal”对象和一个“Cat”对象,分别调用它们的“makeSound”方法,输出不同的结果。这就体现了JAVA面向对象的三个基本特征:封装、继承和多态。
- 上一篇: 面向对象2 - 三大特性(面向对象三大特征六大原则)
- 下一篇: Java面向对象有哪些特征,如何应用
猜你喜欢
- 2024-11-11 Java面向对象有哪些特征,如何应用
- 2024-11-11 面向对象2 - 三大特性(面向对象三大特征六大原则)
- 2024-11-11 「Java 面向对象知识整理」面向对象三大特征
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)