4.1 类与对象(掌握如何使用)

类:是一组相关属性(名字、年龄)和行为(跑、跳)的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物

public class ClassName {//成员变量
//成员方法
}

对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为。

类名 对象名 = new 类名();

关系:类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体。

在学习此章的时候,会涉及到双类,

一个类是被操作于对象的类,另一个是用来测试该类的类。

例子一:创建一个狗的对象。

分析需求:狗有哪些属性?狗有哪些行为?
属性:狗的大小、狗的颜色、狗的年龄
行为:叫、跑、吃屎

这是第一个类,注意两个类文件需要在同一个PACKAGE下。

从逻辑上来理解就是,我们首先要把狗的相关模型写出来(第一个类构建模板),写出来之后然后往里头添加具体值使狗实体化(第二个类定义对象实体化)。

第一步:满足需求,我们我们把狗的属性和行为给定义出来

public class Dog {int size;String color;String name;int age;void bark(){System.out.println("ruff");}}

第二步:新建一个类,去测试这个上面的类

public class DogTest {public static void main(String[] args) {Dog a = new Dog();a.age = 1;//如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样a.name = "旺财";a.bark();System.out.println("hello我叫"+a.name+",我今年"+a.age);}
}

堆栈以及方法区在内存的理解

其实这个理解就好,不难。

4.2 封装

封装这个概念是很强大的,无论还是网络宏观各个层面,很多东西都做了封装,对于每个实现,除了底层开发人员实际上不需要进行了解到那么深的,维护人员只需要拿来用即可。在开发过程中适当的封装可以让代码更容易理解和维护,也可以让代码得到保护。

另外注意: private与this有点类似于矛与盾的感觉,而且都是针对对象都是成员变量的作用。

4.2.1 private

1. private是一个权限修饰符,代表最小权限。
2. 可以修饰成员变量和成员方法。
3. 被private修饰后的成员变量和成员方法,只在本类中才能访问

1.使用 private 修饰成员变量

2. 提供 getXxx 方法 / setXxx 方法,可以访问成员变量

public class Student {private String name;private int age;public void setName(String n) {name = n;
}public String getName() {return name;
}

4.2.2 this的含义

public void setName(String n) {name = n;//上述代码一旦n变成name,即便通过set方法也无法赋值给name,因为name找不到
}public void setName(String name {name = name;//name找不到
}
//解决方案
public void setName(String name {this.name = name;//通过this可以解决方法里的局部变量无法访//问到成员变量的问题,即上述矛与盾的关系得到实质性突破
}

4.2.3 构造方法

为了书写标准代码----JavaBean?

iservice封装有哪些方法_Java基础之类与对象、封装、构造方法·6(重点)相关推荐

  1. Java中introduce方法_Java基础—继承

    继承是面向对象的核心特征之一,是由已有类创建新类的机制.利用继承机制,可以先创建一个具有共性的一般类,然后根据该一般类创建具有特殊性的新类,新类继承一般类的属性和方法,并根据需要增加自己的新属性和方法 ...

  2. 测试私有方法_Java基础之抽象类、接口作为方法参数和返回值

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...

  3. 封装属性_「Python基础学习」之封装大法

    在程序设计中,封装是对具体对象的一种抽象,简单来说就是将某些部分隐藏起来,在程序外部看不到,这个看不到不是说人用眼睛看不到那个代码,其含义是其它的程序无法调用. 要了解封装,离不开"私有化& ...

  4. java反射三种方法_Java基础入门要学哪些 怎么掌握反射和枚举

    Java基础入门要学哪些?怎么掌握反射和枚举?Java是老牌编程语言,是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java所包含的基础知识点很多,只有掌握了这些知识才能更好地运用,下面就来给 ...

  5. iservice封装有哪些方法_总结WebService的一些封装技巧

    今天早上起来,想谈谈.NET中的WebService,当然我不想讲什么是WebService,或者怎么用WebService,因为那个大家随便Google一下前100页都能找到答案.今天我想来分享一下 ...

  6. 在java中班级的表示方法_Java基础班学习笔记(8)

    1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.java 如何 ...

  7. iservice封装有哪些方法_对WebService的一些封装技巧总结

    一.问题诞生 -- 大部分解决方案的背后总是一些头痛的问题 很早以前就用过传说中的WebService,但一直是用常规的思路在用:创建WebService项目-->写Web服务方法--> ...

  8. java数据成员_Java基础教程之对象的方法与数据成员

    在Java基础教程之从Hello World到面向对象一文中,我们初步了解了对象(object).对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class) ...

  9. 黑马程序员_Java基础Day05_面向对象之封装(Done)

    ------- android培训.java培训.期待与您交流! ---------- Day05开始接触到了Java核心部分--"面向对象". 面向对象是一种思考思想,是相对于早 ...

最新文章

  1. web服务器安全配置(附安全工具下载)
  2. python commands模块_python commands模块在python3.x被subprocess取代
  3. ubuntu18上安裝TeamViewer
  4. 学业水平考试网登录_海南高中学业水平考试成绩查询免费登录入口:http://ea.hainan.gov.cn/(已开通)...
  5. 跳转到_301跳转常见问题汇总
  6. [Docker] Centos7 安装docker-18.03.1-ce(离线安装)
  7. 【转】交织容积重建技术:基本原理与临床价值
  8. 利用jQuery和css实现的模仿百度搜索列表页面的分页的足迹效果
  9. oracle:oracle学习案例(五):基础练习
  10. Delphi XE2有什么新功能
  11. Linux学习(2)---绝对路径和相对路径
  12. 别瞎扯,元宇宙就是没有切实发展?
  13. 支付宝小程序-实名认证流程讲解
  14. 服务器信号有杂音怎么回事,麦克风有杂音或电流声等的解决方法
  15. 校园网免认证利用IPV6轻松绕过校园WiFi网关
  16. Unity性能优化方法总结
  17. 网传人人车破产,或是改变销售模式?-千氪
  18. 虚函数的实质——虚函数表
  19. 无线安全[测试标准]
  20. 黑盒测试方法—等价类划分法

热门文章

  1. 图像扩充边界_使用机器学习来索引数十亿图像中的文本
  2. 列表、超链接、相对路径-HTML
  3. 水很深的深度学习-Task01深度学习概述与数学基础
  4. HBase-shell及happyhbase
  5. 怎么使用starwind部署iscsi_服务器配置我该怎么选
  6. 第十二届蓝桥杯大赛软件赛决赛题解
  7. redis使用sysc超时_优雅的处理Redis访问超时
  8. 练习题 - 基于快速文本标题匹配的知识问答实现(二,实现篇)
  9. 分类问题的评价及matrix , precision, recall
  10. 特征提取方法: one-hot 和 TF-IDF