JavaEE实战班第十四天
今天学的是封装,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关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访
问。
并且不会因为对象的多次创建 而在内存中建立多份数据
- 静态成员 在类加载时加载并初始化。
- 无论一个类存在多少个对象 , 静态的属性, 永远在内存中只有一份( 可以理解为所有对象公用 )
- 在访问时: 静态不能访问非静态 , 非静态可以访问静态 !
JavaEE实战班第十四天相关推荐
- JavaEE实战班第十五天
今天改正了昨天提交作业的错误,并继续学习了静态static,包,权限修饰符和代码块,其中对代码块的理解不到位,主要体现在方法的重载方面,明天需要返工. 普通代码块 在执行的流程中 出现的 代码块, 我 ...
- JavaEE实战班第十天
今天将昨天分成的任务达成了三个,还剩最后一个.其中遇到的问题封装不会,生成随机数不会. 代码如下: import java.util.Random; import java.util.Scanner; ...
- R语言实战笔记--第十四章 主成分和因子分析
R语言实战笔记–第十四章 主成分和因子分析 标签(空格分隔): R语言 主成分分析 因子分析 原理及区别 主成分分析与因子分析很接近,其目的均是为了降维,以更简洁的数据去解释结果,但这两种方法其实是相 ...
- 领域驱动设计DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)...
上一篇文章我们主要讲了订单上下文的领域逻辑,在领域逻辑中完成了订单项的计算逻辑.订单的计算逻辑以及如何生成相应的实体code,这篇文章我们通过 在应用服务中实现一个下单的用例,来将这些领域逻辑以及仓储 ...
- [转]【无私分享:ASP.NET CORE 项目实战(第十四章)】图形验证码的实现
本文转自:http://www.cnblogs.com/yuangang/p/6000460.html 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 很长时间没有来更新博客 ...
- java并发编程实战:第十四章----构建自定义的同步工具
一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 1 可阻塞的状态依赖操作的结构 2 3 acquire loc ...
- JavaEE实战班第九天
今天学习第六节课,是对之前学习的知识的一个总结.其中有一个快递驿站的任务.通过拆分将其分割成为四块 1角色切换 2存快递 3删除和展示快递 4修改和取出快递 今天已经完成第一部分.其中遇到的问题,与封 ...
- XenApp_XenDesktop_7.6实战篇之十四:XenDesktop虚拟桌面的交付
上一章节我们完成了VDA的安装,今天我们会跟大家分享通过Remote PC Access为用户交付桌面.利用 Remote PC Access,最终用户几乎可以从任何地方远程登录到位于其办公室的物理 ...
- MATLAB实战系列(十四)-如何通过YALMIP和CPLEX求解小规模(CVRP)路径调度问题(附MATLAB代码)
前言 有约束条件的车辆路径问题(CVRP),可以看作是TSP(Traveling Salesman Problem,旅行商问题)的拓展.由于TSP已经被证明是NP难问题,所以CVRP也是NP难问题. ...
最新文章
- python scale 窗口部件 使用_Tkinter介绍及教学-Python教学【StudyQuant-Python量化投资课堂】...
- springcloud完整项目_.net core+Spring Cloud学习之路 一
- tomcat错误:The page you tried to access (/manager/login.do) does not exist
- python结束进程树_【python爬虫】线程进程
- LeetCode 246. 中心对称数(哈希)
- Python 新式类与经典类
- 安卓9 怎么运行老程序_PLC怎么连接电脑?怎么把在电脑编程好的程序放入PLC运行?...
- jQuery知识(转)
- 抖音直播电商带货项目商业运营计划书短视频创业规划方案
- Android 仿qq 点赞功能
- 如何在Win10安装“Siemens TIA Openness”
- 《内向性格的竞争力:发挥你的本来优势》读书笔记
- 如何修改BOOT.INI启动项,添加一个D盘的启动系统上去?
- CAS:1537170-85-6_DBCO-PEG4-COOH_PEG-DBCO衍生物
- Google Sanitizers
- sincerit 小乐乐切割方块(规律+思考)
- java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...
- 淘宝再次升级!这次的关键词是啥
- 为什么北半球的旋涡都是逆时针的
- 8个重要的电子邮件黑名单及如何从黑名单中删除?
热门文章
- Linux笔记-centos7配置网卡及iftop的使用
- 前端笔记-thymeleaf获取及回显input标签type=date
- MySQL笔记-CURRENT_TIMESTAMP()和ON UPDATE及索引相关
- Qt学习笔记-SQL的基本操作【创建、查询、添加、索引等】
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(四)信号量
- win10 GCC 安装
- oracle通信通道的文件结尾_【移民】加拿大安省发放优才计划移民邀请函;NS省干掉特快通道直申种类的申请通道...
- c 语言多参数函数,C/C++实现多参数函数编程
- rtklib 天线相位中心_(原文链接错,重发)用于WiMAX和WLAN的紧凑型共面波导馈电双频线极化和圆极化单极天线(原载于微波杂志19年7/8月号)...
- python快速入门步骤_Python快速入门