今天学的是封装,this关键字,和静态static。

其中封装,上个大任务中没了解的封装今天学到了,知道了封装的主要作用是防止误操作,运用private限制其权限。从而达到目的。

我们观察如下代码:

class Person{

private String name ; // 表 示 姓 名private int age ; // 表示年龄void tell(){

System.out.println("姓名:" + name + ";年龄:" + age) ;

}

};

public class Demo{

public static void main(String args[]){ Person per = new Person() ; per.name = "张三" ;

per.age = -30 ; per.tell() ;

}

};

以上的操作代码并没有出现了语法错误,但是出现了逻辑错误 (年龄-30岁)

在开发中,   为了避免出现逻辑错误,   我们建议对所有属性进行封装,并为其提供setter及getter方法进行设置和取得操作。

修改代码如下:

class Person{

private String name ; // 表 示 姓 名private int age ; // 表示年龄void tell(){

System.out.println("姓名:" + getName() + ";年龄:" + getAge()) ;

}

public void setName(String str){ name = str ;

}

public void setAge(int a){ if(a>0&&a<150)

age = a ;

}

public String getName(){ return name ;

}

public int getAge(){ return age ;

}

};

public class OODemo10{

public static void main(String args[]){ Person per = new Person() ;

per.setName("张三") ;

per.setAge(-30) ;

per.tell() ;

}

}

this

在Java基础中,this关键字是一个最重要的概念。使用this关键字可以完成以下的操作:

  • 调用类中的属性
  • 调用类中的方法或构造方法
  • 表示当前对象

static

static表示“静态”的意思,可以用来修饰成员变量和成员方法(后续还会学习 静态代码块 和 静态内部类)。

static的主要作用在于创建独立于具体对象的域变量或者方法简单理解:

被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访

问。

并且不会因为对象的多次创建 而在内存中建立多份数据

  1. 静态成员 在类加载时加载并初始化。
  2. 无论一个类存在多少个对象 , 静态的属性, 永远在内存中只有一份( 可以理解为所有对象公用 )
  3. 在访问时: 静态不能访问非静态 , 非静态可以访问静态 !

JavaEE实战班第十四天相关推荐

  1. JavaEE实战班第十五天

    今天改正了昨天提交作业的错误,并继续学习了静态static,包,权限修饰符和代码块,其中对代码块的理解不到位,主要体现在方法的重载方面,明天需要返工. 普通代码块 在执行的流程中 出现的 代码块, 我 ...

  2. JavaEE实战班第十天

    今天将昨天分成的任务达成了三个,还剩最后一个.其中遇到的问题封装不会,生成随机数不会. 代码如下: import java.util.Random; import java.util.Scanner; ...

  3. R语言实战笔记--第十四章 主成分和因子分析

    R语言实战笔记–第十四章 主成分和因子分析 标签(空格分隔): R语言 主成分分析 因子分析 原理及区别 主成分分析与因子分析很接近,其目的均是为了降维,以更简洁的数据去解释结果,但这两种方法其实是相 ...

  4. 领域驱动设计DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)...

    上一篇文章我们主要讲了订单上下文的领域逻辑,在领域逻辑中完成了订单项的计算逻辑.订单的计算逻辑以及如何生成相应的实体code,这篇文章我们通过 在应用服务中实现一个下单的用例,来将这些领域逻辑以及仓储 ...

  5. [转]【无私分享:ASP.NET CORE 项目实战(第十四章)】图形验证码的实现

    本文转自:http://www.cnblogs.com/yuangang/p/6000460.html 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 很长时间没有来更新博客 ...

  6. java并发编程实战:第十四章----构建自定义的同步工具

    一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 1 可阻塞的状态依赖操作的结构 2 3 acquire loc ...

  7. JavaEE实战班第九天

    今天学习第六节课,是对之前学习的知识的一个总结.其中有一个快递驿站的任务.通过拆分将其分割成为四块 1角色切换 2存快递 3删除和展示快递 4修改和取出快递 今天已经完成第一部分.其中遇到的问题,与封 ...

  8. XenApp_XenDesktop_7.6实战篇之十四:XenDesktop虚拟桌面的交付

    上一章节我们完成了VDA的安装,今天我们会跟大家分享通过Remote PC Access为用户交付桌面.利用 Remote PC Access,最终用户几乎可以从任何地方远程登录到位于其办公室的物理 ...

  9. MATLAB实战系列(十四)-如何通过YALMIP和CPLEX求解小规模(CVRP)路径调度问题(附MATLAB代码)

    前言 有约束条件的车辆路径问题(CVRP),可以看作是TSP(Traveling Salesman Problem,旅行商问题)的拓展.由于TSP已经被证明是NP难问题,所以CVRP也是NP难问题. ...

最新文章

  1. python scale 窗口部件 使用_Tkinter介绍及教学-Python教学【StudyQuant-Python量化投资课堂】...
  2. springcloud完整项目_.net core+Spring Cloud学习之路 一
  3. tomcat错误:The page you tried to access (/manager/login.do) does not exist
  4. python结束进程树_【python爬虫】线程进程
  5. LeetCode 246. 中心对称数(哈希)
  6. Python 新式类与经典类
  7. 安卓9 怎么运行老程序_PLC怎么连接电脑?怎么把在电脑编程好的程序放入PLC运行?...
  8. jQuery知识(转)
  9. 抖音直播电商带货项目商业运营计划书短视频创业规划方案
  10. Android 仿qq 点赞功能
  11. 如何在Win10安装“Siemens TIA Openness”
  12. 《内向性格的竞争力:发挥你的本来优势》读书笔记
  13. 如何修改BOOT.INI启动项,添加一个D盘的启动系统上去?
  14. CAS:1537170-85-6_DBCO-PEG4-COOH_PEG-DBCO衍生物
  15. Google Sanitizers
  16. sincerit 小乐乐切割方块(规律+思考)
  17. java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...
  18. 淘宝再次升级!这次的关键词是啥
  19. 为什么北半球的旋涡都是逆时针的
  20. 8个重要的电子邮件黑名单及如何从黑名单中删除?

热门文章

  1. Linux笔记-centos7配置网卡及iftop的使用
  2. 前端笔记-thymeleaf获取及回显input标签type=date
  3. MySQL笔记-CURRENT_TIMESTAMP()和ON UPDATE及索引相关
  4. Qt学习笔记-SQL的基本操作【创建、查询、添加、索引等】
  5. 专业课程设计之客户与服务器程序的同步与通信机制的设计(四)信号量
  6. win10 GCC 安装
  7. oracle通信通道的文件结尾_【移民】加拿大安省发放优才计划移民邀请函;NS省干掉特快通道直申种类的申请通道...
  8. c 语言多参数函数,C/C++实现多参数函数编程
  9. rtklib 天线相位中心_(原文链接错,重发)用于WiMAX和WLAN的紧凑型共面波导馈电双频线极化和圆极化单极天线(原载于微波杂志19年7/8月号)...
  10. python快速入门步骤_Python快速入门