java面向对象的三大特征:“封装、继承、多态”。更多Java技术知识,请登陆疯狂软件教育官网。微信搜索微信号:疯狂软件,参加2015年优惠活动,有机会获得优惠劵和代金劵。
以本文为例,User类中的变量为私有变量,只能通过创建对象(此时构造方法自动调用)来赋值。
外界只能通过公有方法api()来访问User类。
Admin类继承了User类,调用了其构造方法,还重写了method_1方法,增加了一个特有方法power()。
User文件
public class User { /** * 私有变量, 仅限本类访问 */ private String name; private int age; /** * 构造方法, 自动调用 */ public User(String name, int age){ this.name = name; this.age = age; } /** * 私有方法, 仅限本类访问 */ private void method_1(){ System.out.println("i am a " + name + " ; my age is: " + age); } /** * 可被子类继承、覆盖和同包调用 */ protected void method_2(){ System.out.println("i am not override"); } /** * 公有方法,对外接口 */ public void api() { method_1(); method_2(); } } Admin文件 public class Admin extends User { /** * 构造方法 */ public Admin(String name, int age) { // 使用父类的构造方法 super(name, age); } /** * 覆盖父类的同名方法 */ protected void method_2() { System.out.println("NO, you are override");啊 } /** * 子类特有方法 */ public void power(){ System.out.println("admin is powerful"); } } Main文件 public class Main{ public static void main(String[] arg) { // 实例化一个User对象,并调用User的公有方法 User a = new User("user", 12); a.api(); // 输出换行,方便区分不同的代码 System.out.println(); // 实例化一个Admin对象,并调用Admin的两个方法 Admin admin_me = new Admin("admin", 23); admin_me.api(); // 继承自User父类 admin_me.power(); // 自身独有的方法 System.out.println(); /** * 多态性 */ User test_admin = new Admin("test_admin", 34); test_admin.api(); // test_admin.power(); // User中没有声明power这个方法,所以不能使用 } }
以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍Java 面向对象编程三大特性?相关面试题,主要包含被问及Java 面向对象编程三大特性?时的应答技巧和注意事项,需要的朋友参考一下 (1)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封
封装性 封装性就是隐藏实现细节,仅对外公开接口 类是数据与功能的封装,数据就是成员变量,功能就是方法 为什么要封装? 不封装的缺点:当一个类把自己的成员变量暴露给外部的时候,那么该类就失去对该成员变量的管理权,别人可以任意的修改你的成员变量 封装就是将数据隐藏起来,只能用此类的方法才可以读取或者设置数据,不可被外部任意修改是面向对象设计本质(将变化隔离)。这样降低了数据被误用的可能(提高安全性和灵
关于一个语言被称为面向对象所需的功能,在编程社区内并未达成一致意见。Rust 被很多不同的编程范式影响,包括面向对象编程;比如第十三章提到了来自函数式编程的特性。面向对象编程语言所共享的一些特性往往是对象、封装和继承。让我们看一下这每一个概念的含义以及 Rust 是否支持他们。In my view the Gang of Four is the best book ever written on
状态模式(state pattern)是一个面向对象设计模式。该模式的关键在于一个值有某些内部状态,体现为一系列的 状态对象,同时值的行为随着其内部状态而改变。状态对象共享功能 —— 当然,在 Rust 中使用结构体和 trait 而不是对象和继承。每一个状态对象代表负责其自身的行为和当需要改变为另一个状态时的规则的状态。持有任何一个这种状态对象的值对于不同状态的行为以及何时状态转移毫不知情。 使
本文向大家介绍浅谈Lua的面向对象特性,包括了浅谈Lua的面向对象特性的使用技巧和注意事项,需要的朋友参考一下 面向对象的特性 类: 类是可扩展的模板用来创建对象,提供状态的初始值(成员变量)和行为的实现。 对象: 它是类的实例并具有分配给自己独立的内存。 继承: 它是由变量和类的函数被其他类继承的概念。 封装: 它是将数据和函数相结合的一类内的方法。数据可以在类
主要内容:对象的概念,面向对象的三大核心特性面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。 对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象