java三大特性(封装、继承、多态)
oop(面向对象程序设计)具有三大特性:封装、继承、多态
一、封装
封装就是讲类的信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的实现隐藏信息的操作和访问。
实现封装
1、需要修改属性的访问控制符(private)
2、创建getter/setter方法(用于属性读写)
3、在getter/setter方法中加入属性控制语句(用于判断属性值的合法性)
public class Student{ private String name; public void setName(String name){ this.name=name; } public String getName(){ return name; }
二、继承
继承是类与类的一种关系,比如说,狗属于动物。可以看成狗类继承了动物类,那么狗类就是动物类的子类(派生类),动物类就是狗类的父类(基类)。在Java中一个子类只能有一个父类。
//父类:动物类 public class Animal{ public int age; public String name; public void eat(){ System.out.println("动物具有吃东西的本领!"); } } //子类:狗类 public class Dog extends Animal { }
三、 多态
多态指的是对象的多种形态。多态有两种:引用多态和方法多态。继承是多态的实现基础。
1.引用多态
父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。
//父类:动物类 public class Animal{ public int age; public String name; public void eat(){ System.out.println("动物具有吃东西的本领!"); } } //子类:狗类 public class Dog extends Animal { } //测试类 public class Test{ public static void main(String[] args) { //父类的引用可以指向本类的对象 Animal ani1 = new Animal(); //父类的引用可以指向子类的对象 Animal ani2 = new Dog(); } }
2. 方法多态
创建父类对象时,调用的方法为父类方法;
创建子类对象时,调用的方法是子类重写的方法或继承自父类的方法;
不允许通过父类的引用调用子类独有的方法。
//父类:动物类 public class Animal{ public int age; public String name; public void eat(){ System.out.println("动物具有吃东西的本领!"); } } //子类:狗类 public class Dog extends Animal { public void eat(){ System.out.println("狗是吃肉的。"); } } //测试类 public class Test{ public static void main(String[] args) { //父类的引用可以指向本类的对象 Animal ani1 = new Animal(); //父类的引用可以指向子类的对象 Animal ani2 = new Dog(); //输出动物具有吃的本领 ani1.eat(); //输出狗是吃肉的 ani2.eat(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下