博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iservice封装有哪些方法_Java基础之类与对象、封装、构造方法·6(重点)
阅读量:6361 次
发布时间:2019-06-23

本文共 1783 字,大约阅读时间需要 5 分钟。

826451ef9db8e7c5e08806d8e7d276d7.png

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); }}

7c739ced2c242f11575a57f63265d4ae.png
堆栈以及方法区在内存的理解

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

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?

转载地址:http://zdima.baihongyu.com/

你可能感兴趣的文章
java 安装配置时出现的问题
查看>>
下拉列表在编辑的时候用到的东西
查看>>
兴奋、强类型版的PHP语言 - Hack
查看>>
解密 JavaScript 中的 this
查看>>
EventHandlerList z
查看>>
每日英语:A New Way to Learn Chinese
查看>>
Understanding Design And Development Job Titles--reference
查看>>
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
查看>>
【ASP.NET 问题】IIS发布网站后出现“检测到在集成的托管管道模式下不适用的ASP.NET设置”的解决办法...
查看>>
惊人事实 z
查看>>
STL--双端队列(deque)和链表(list)
查看>>
UI产品设计流程中的14个要点
查看>>
解决 Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'
查看>>
thecorner.com.cn - Customer Care
查看>>
[stm32] 中断
查看>>
传统网站架构与优化(图)
查看>>
ios成长之每日一遍(day 4)
查看>>
hdu 2393:Higher Math(计算几何,水题)
查看>>
cocos2d-x 音效中断问题
查看>>
OpenGLES渲染
查看>>