JAVA面向对象之封装和调用
一 面向对象
面向对象的三大特性
1 封装:概念;封装是把过程和数据私有化,打包封存起来,对数据访问只能通过指定的方式。简单的可以理解为你把钱存到银行里,银行专员首先要给你开一个账户,之后你的钱就私有化了,对私账户,别人想要借用你的钱时他不能直接从银行拿出你的钱,而要通过你取出你自己的钱(调用)再交到他手中,而你取钱的方式就是通过卡(包package)划出;
优点:封装保证了模块具有较好的独立性,使得程序的维护比较简单,对应用程序的维护仅限于程序内部,因而可以将维护程序带来的影响减到最小。
2 继承:概念;A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息
如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果。(玄幻小说中都有老祖宗(父类)给自己后代(子类)传承功法(方法),修为之类的,但大多数都被主角截了胡。后代(子类)继承自己老祖宗(父类)的修为以后。原本只有老祖(父类)会用的功法,现如今这个后代(子类)也会用了,也就是说这个后代(子类)可以不通过很多年的学习和苦练就可以拥有这些,既节省时间,又节约成本何乐而不为呢。但是这个后代(子类)可以根据自己的能力和需求修改功法(方法)逐渐完善)。
优点:继承是一种结构理念,是一种链接类的层次模型并允许和支持类的重复使用,他提供了一个明确的描述共性的方法。
3 多态:概念;多态性是不同类的对象对同一消息做出相同的反映。
优点:多态具有灵活,抽象,行为共享,代码共享的优势,很好的解决了应用程序函数同名的问题。
今日学习封装和调用
在Demo04封装。
1 package Day09;
2
3
4 //学习封装特性
5 public class Demo04 {
6
7 //定义一些成员变量,全局变量,属性,字段
8 private String username;
9
10 //定义私有的年龄成员变量,地址成员变量,手机号成员变量
11 //提供对应的getter和setter方法
12 //然后再外类当中对新定义的私有成员变量赋值打印展示
13
14 //getter和setter方法
15 //alt+shift+s
16 private String age;
17 private String address;
18 private String haoma;
19 private String gouzi;
20
21 /**
22 * @return the gouzi
23 */
24 public String getGouzi() {
25 return gouzi;
26 }
27
28 /**
29 * @param gouzi the gouzi to set
30 */
31 public void setGouzi(String gouzi) {
32 this.gouzi = gouzi;
33 }
34
35 /**
36 * @return the username
37 */
38 public String getUsername() {//属性
39 return username;
40 }
41
42 /**
43 * @param username the username to set
44 */
45 public void setUsername(String username) {//属性
46
47 /**this 他是一个关键字
48 * 指代的就是当前类的一个对象
49 * */
50 this.username = username;
51 }
52
53 public String getAge() {
54 return age;
55 }
56
57 public void setAge(String age) {
58 this.age = age;
59 }
60
61 public String getAddress() {
62 return address;
63 }
64
65 public void setAddress(String address) {
66 this.address = address;
67 }
68
69 public String getHaoma() {
70 return haoma;
71 }
72
73 public void setHaoma(String haoma) {
74 this.haoma = haoma;
75 }
76
77 }
于Demo03中调用;
1 package Day09;
2
3 /**
4 * 面向对象: 他是一种编程思想,三大特性:封装,继承,多态 封装;保护性,可复制性
5 * 狭义上的封装指的是对定义在方法外类当中的变量进行变量私有化,使用设置private关键字进行修饰
6 * 此时该变量就成了私有变量,那么私有变量只能在本类中使用,不能在外类中直接使用 广义上的封装是指对代码实现的细节进行封装,对外暴露方法名称或者类名
7 * 在类当中主要有两部分内容,成员变量,成员方法 类 :主要是用来存储信息的(成员变量,成员方法)
8 * 对象:主要是用来调用类当中存储(定义)那些信息(成员变量,成员方法) 对象构建的语法格式:类名 变量名 = new 类名(); 钩子程序 继承
9 * :A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息
10 * 如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果 多态:
11 * 如果一个类除了可以表现出自己本身状态值以外的其他类值以外,此时这个类具有多态性。
12 *
13 *
14 */
15 public class Demo03 {
16
17 public static void main(String[] args) {
18 // TODO Auto-generated method stub
19 Demo04 de = new Demo04();
20 de.setUsername("道尊");
21 // ctrl + 1 ---->快速获取该方法的返回值,同时他会定义一个变量来接受该方法的返回值
22 String username = de.getUsername();
23 System.out.println("Demo04类当中的username属性值为 :" + username);
24
25 de.setAge("45");
26 String age = de.getAge();
27 System.out.println("Demo04类当中的age属性值为 :" + age);
28
29 de.setAddress("道神殿");
30 String address = de.getAddress();
31 System.out.println("Demo04类当中的address属性值为 :" + address);
32
33 de.setHaoma("888888888");
34 String haoma = de.getHaoma();
35 System.out.println("Demo04类当中的haoma属性值为 :" + haoma);
36
37 de.setGouzi("绝无神");
38 String gouzi = de.getGouzi();
39 System.out.println("Demo04类当中的gouzia属性值为 :" + gouzi);
40
41 }
42
43 }
调用结果
JAVA面向对象之封装和调用的更多相关文章
- Java面向对象(封装性概论)
Java面向对象(封装性概论) 知识概要: (1)面向对象概念 (2)类与对象的关系 (3)封装 (4)构造函数 (5)this关键字 (6)static关键 ...
- Java面向对象的封装
封装是Java面向对象的三大特性之一,通常我们是通过包管理机制同时对类进行封装,隐藏其内部实现细节,通常开发中不允许直接操作类中的成员属性,所以属性一般设置为私有权限private,类中一般会给出一些 ...
- java面向对象(封装,继承,多态,抽象,接口的定义和实现)
1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...
- Java面向对象之封装
面向对象的三个特征:封装.继承和多态. Java开发的过程就是找合适的库对象使用,没有对象创建新对象.找对象,建立对象,使用对象并维护对象之间的关系. 类就是对现实生活中事物的描述,而对象就是这类事 ...
- java面向对象(封装-继承-多态)
框架图 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向对象的特点 ...
- Java面向对象之封装 入门实例(一)
一.基础概念 (一)面向对象的三大特征: 1.封装 2.继承 3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...
- java面向对象之封装性
面向对象的特征之一:封装和隐藏: 一.问题的引入: 当创建一个类的对象以后,可以通过“对象.属性”的方式,对对象的属性进行赋值.这里,赋值操作要受属性的数据类型和存储范围的制约.除此之外,没有其他制约 ...
- Java 面向对象,封装,继承
1相关概念的理解 1.1面向过程.面向对象 面向过程与面向对象都是编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.(职员思想) 面向 ...
- Java 面向对象和封装
目录 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 面向对象思想的概述 面向过程:当需要实现一个功能的时候 ...
随机推荐
- Java---基本程序结构
一个完整的Java程序: /** * 文档注释 * * @author wind8 * */ public class Hello { /** * @param args */ public stat ...
- B. Build the Permutation
题目分析:我们先简单的分析一下这道题是在干什么啊,给我们三个整数n,a,b,问我们能否构造这样的排列使得序列中有a个极大值,b个极小值,能的话就给出任意一种可能的情况,不能的话就输出-1: 其实一开始 ...
- NodeJS学习day2
今天还是接着学习IO,主要方面是文件路径相关操作 练习代码如下: const fs = require('fs') // 执行C:\CS\Node.js>node .\day2\fsRoad.j ...
- Redis4.0.14 迁槽失败
线上一个redis集群中主节点使用的内存达到了9.78g,按照redis单个实例最大内存不要超出10g的规范,扩容操作就放在了今天晚上进行.因为之前redis迁槽都是采用 redis-trib.rb ...
- nodejs的tream(流)解析与模拟文件读写流源码实现
什么是流? 可读流于可写流 双工流于转换流 背压机制与文件流模拟实现 一.什么是流? 关于流的概念早在1964年就有记录被提出了,简单的说"流"就是控制数据传输过程的程序,比如在那 ...
- IoT平台如何实现业务配置中心
摘要:本文讲述业务配置中心(下文简述为配置中心)的关键技术和实现方式. 本文分享自华为云社区<手把手教你物联网平台如何实现业务配置中心>,作者: 华为云IoT专家团 . 上一篇<华为 ...
- 【安全建设】日志监控的极品工具sysmon
转载请注明出处:https://www.cnblogs.com/vitalemontea/p/16178048.html 1.前言 最近态势感知爆了某个同事有挖矿事件的告警,打开一看,就是会通过dns ...
- springmvc05-json交互处理
什么是json: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. *采用完全独立于编程语言的文本格式来存储和表示数据 ...
- C#语法糖系列 —— 第二篇:聊聊 ref,in 修饰符底层玩法
自从 C# 7.3 放开 ref 之后,这玩法就太花哨了,也让 C# 这门语言变得越来越多范式,越来越重,这篇我们就来聊聊 ref,本质上来说 ref 的放开就是把 C/C++ 指针的那一套又拿回来了 ...
- linux在图形界面一登录就自动闪退
今天一登录linux图形界面就自动退出了,又退到了登录界面了,密码是正确的. 解决方法如下: 1. 先按 Ctrl + Alt + F1,进入 命令行模式. 2. 在命令行里,输入用户名密码正常登录. ...