1. 类

package cn.itcast.day06.demo03;

/*
问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。
解决方案:用private关键字将需要保护的成员变量进行修饰。 一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。 间接访问private成员变量,就是定义一对儿Getter/Setter方法 必须叫setXxx或者是getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。
*/
public class Person { String name; // 姓名
private int age; // 年龄 public void show() {
System.out.println("我叫:" + name + ",年龄:" + age);
} // 这个成员方法,专门用于向age设置数据
public void setAge(int num) {
if (num < 100 && num >= 9) { // 如果是合理情况
age = num;
} else {
System.out.println("数据不合理!");
}
} // 这个成员方法,专门私语获取age的数据
public int getAge() {
return age;
} }

2. 对象

package cn.itcast.day06.demo04;

public class Demo01Person {

    public static void main(String[] args) {
Person person = new Person();
// 设置我自己的名字
person.name = "王健林";
person.sayHello("王思聪"); System.out.println(person); // 地址值
} }
package cn.itcast.day06.demo04;

public class Demo02Student {

    public static void main(String[] args) {
Student stu1 = new Student(); // 无参构造
System.out.println("============"); Student stu2 = new Student("赵丽颖", 20); // 全参构造
System.out.println("姓名:" + stu2.getName() + ",年龄:" + stu2.getAge());
// 如果需要改变对象当中的成员变量数据内容,仍然还需要使用setXxx方法
stu2.setAge(21); // 改变年龄
System.out.println("姓名:" + stu2.getName() + ",年龄:" + stu2.getAge()); } }
package cn.itcast.day06.demo04;

/*
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名 “通过谁调用的方法,谁就是this。”
*/
public class Person { String name; // 我自己的名字 // 参数name是对方的名字
// 成员变量name是自己的名字
public void sayHello(String name) {
System.out.println(name + ",你好。我是" + this.name);
System.out.println(this);
} }

  

 

最新文章

  1. ABP源码分析四:Configuration
  2. 使用Design包实现QQ动画侧滑效果和滑动菜单导航
  3. Android5.1.1源码 - zygote fork出的子进程如何权限降级
  4. opencv 小任务1 图片的缩放
  5. ads 的一些错误
  6. Java中Properties类的使用
  7. div下的img标签中图片的大小设定
  8. django - get_or_create() 使用提醒
  9. ios代理设计模式
  10. [九度OJ]1137.浮点数加法
  11. Linux 下的 Nginx 反向代理配置.
  12. 【BZOJ 1642】 [Usaco2007 Nov]Milking Time 挤奶时间
  13. Hybrid App开发之jQuery基础
  14. 团体队列UVA540 Team Queue(队列简单用法)
  15. java 实现的c当中的几道题
  16. Python学习案例之Web版语音合成播报
  17. shell反射
  18. 开发部署项目时出现:java.lang.OutOfMemoryError: PermGen space
  19. mvc部分视图转换成html字符串
  20. Numpy 线性代数

热门文章

  1. 期货homes平台以及仿ctp接口
  2. Android 开发压缩图片
  3. 关于KMP的next函数的原理分析
  4. Vue中父组件向子组件echarts传值问题
  5. CSS遮罩层简易写法
  6. vue引用fastClick后,ios输入框聚焦不灵敏问题
  7. docker dial unix /var/run/docker.sock: connect: permission denied
  8. 传奇服务端添加双倍经验卷的方法 双倍经验卷轴DB示例展示
  9. Jmeter学习之-聚合报告详解
  10. 记录一下自己搭建springboot+mybatis+druid 多数据源的过程