Java面向对象的三大特征
Java面向对象的三大特征
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面向对象的三大特征和五大原则
Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...
- JAVA面向对象:三大特征 封装讲解
一.JAVA封装 1.封装的理解 封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术 2.封装的原则 将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息 ...
- Java面向对象的三大特征详解
一.封装(Encapsulation) 封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保 ...
- 封装是java面向对象编程三大特征之一。 简单的属性封装
package com.cqvie.Hello; class Person { private int age; private String name; public void tell() { ...
- Java学习:面向对象的三大特征:封装性、继承性、多态性之继承性
面向对象的三大特征:封装性.继承性.多态性. 继承 继承是多态的前提 ,如果没有继承,就没有多态. 继承主要解决的问题就是:共性抽取. 继承关系当中的特点: 子类可以拥有父类的“内容” 子类还可以拥有 ...
- 谈谈Java面向对象的三大特性
Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...
- Java的OOP三大特征之一——继承
Java的OOP三大特征之一——继承 子类继承父类的特征和行为(属性和方法),使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类 ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
- Java学习笔记二十一:Java面向对象的三大特性之继承
Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...
随机推荐
- 让页面滑动流畅得飞起的新特性:Passive Event Listeners
版权声明:本文由陈志兴原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/153 来源:腾云阁 https://www.qclo ...
- 在Fedora 20下使用TexturePacker
TexturePacker应该是最流行的图片合并工具吧,它把多个小图组合成一个大图,以减少网络请求次数,还有利于内存的充分利用.在游戏开发和网页开发时经常会用到它,CanTK(https://gith ...
- [redis] Redis 常用命令
redis命令文档:http://doc.redisfans.com/index.html 1. redis查看当前所有的key KEYS * 模糊匹配keykeys 模糊字符串* 2. 查看当前 ...
- $('#checkbox').attr('checked'); 返回的是checked或者是undefined解决办法
$('#checkbox').attr('checked'); 返回的是checked或者是undefined解决办法 <input type='checkbox' id='cb'/> ...
- inline-block的简单理解
1. 概念display:inline-block 将对象呈现为inline对象,但是对象的内容作为block对象呈现.之后的内联对象会被排列在同一行内.比如我们可以给一个link(a元素)inlin ...
- 前端面试题之nina分享
HTML相关 1.<!DOCTYPE>标签的定义与用法. <!DOCTYPE>的定义: <!DOCTYPE>声明位于文档中的最前面的位置,处于<html> ...
- oracle个人总结
oracle优化原则 1:insert 插入 (1):insert into /*+ append */ NOLOGGING 2: select 查询 (1):/*+ full(v) */ 全表查询 ...
- das,nas,san区别——大型数据中心会用NAS+SAN软硬结合思路
DAS(Direct Access Storage-直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上.NAS(Network Attached Storage网络连接存储) ...
- Java:一个简单的Java应用程序
/** * 这是文档注释 * @version * @author */ /* 这之间的内容也是注释 */ //这是行注释 public class FirstSample { public st ...
- CentOS hadoop配置错误Incorrect configuration: namenode address dfs.namenode.servicerpc-address ...
# ./sbin/start-all.sh This script is Deprecated. Instead use start-dfs.sh and st ...