博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类的定义、声明使用
阅读量:5025 次
发布时间:2019-06-12

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

Lesson Five                                                    2018-04-17  21:25:22


 

一、定义

类:对一类事物的描述
对象:包含在类中的,实实在在存在着的。也叫实例
属性:对应类中的成员变量 属性 = Field = 成员变量
行为:对应类中的成员方法 成员方法 = Method = 函数


 

二、设计

面向对象的编程关注于类的设计
设计类实际上就是设计类的成员(方法,成员变量)

1 /类和类的成员的设计 2 class Person{ 3     //1.属性 4     String name; 5     int age; 6     boolean gender; 7      8     //2.方法 9     public void Eat() {10         System.out.println("吃饭");    11     }    12     13     public void sleep() {14         System.out.println("睡觉");15         }16     public String getName() {17         return name;18         19     }20     public void setName(String n) {21         name = n;22     }        23 }
类和类的成员

通过类,来创建类的对像(类的实例化) 

1 Person p = new Person();     格式:类名 对像名 = new 类名();  

通过“对像.属性”或“对像.方法”来调用,完成相应的功能

1 //通过对象调用属性2 a1.name = "花花";3 a1.age = 3;4 System.out.println("name:"+a1.name + "age:"+a1.age);5 a1.sleep();6 a1.eat();
通过对象调用属性和方法

 

基本的类的成员,(成员变量或Field) & 方法(Method)

创建的多个对象,各自有一套类的属性,当其中一个对象的属性被修改时不会影响到其它的对象的属性值

1 Person p = new Person();2 Person p1 = new Person();

三、属性

  类的属性(成员变量)
  成员变量VS局部变量

相同点:

  1.遵循变量声明格式 数据类型 变量名 初始化值

  2.都有作用域


 

不同点:

  1.声明的位置不同,成员变量,声明在类里,方法外

  局部变量,声明在方法内,方法的形参部分,代码块内


  2.成员变量的修饰符有四个, public private protected 缺省

  局部变量没有修饰符,与所在的方法修饰符相同


  3.初始化值:一定会有初始化值 默认会有,可以不写

  成员变量:如果在声明的时候,不显示的赋值,那么,不同的数据类型会有不同的默认初始化值
  数据类型的默认为0
  浮点类型的默认为0.0
  boolean型的为false
  char默认为空格
  局部变量:一定要显示的赋值(没有默认的初始化值)


 

4.二者在内存中存放的位置不同:成员变量存在于堆中,局部变量存在于栈中


 

总结:关于变量的分类: 1.按类型的不同:基本数据类型(8种)&引用数据类型

           2.按声明的位置不同: 局部变量 & 成员变量


四、类的方法:提供某种功能的实现

  1.实例: public void eat(){}
  public String getName(){}
  public void setName(String n){}
  方法格式:权限修饰符 返回值类型(void:无返回值/具体返回值) 方法名(形参){}


 

  2.关于返回值类型:void:表明此方法不需要返回值

  有返回值的方法:在方法的最后一定有return+返回值类型对应的变量


 

  3.方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法!


  4.类的访问机制,同一个类中的方法,是可以直接访问访问类中的成员变量。()

          在不同的类中的访问机制,先创建要访问的类的对像,再用对像访问类中定义的成员。



 

 

 

转载于:https://www.cnblogs.com/Fkuennhvo/p/8870255.html

你可能感兴趣的文章
MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 ),使用javascript实现
查看>>
#Leetcode# 692. Top K Frequent Words
查看>>
NYoj_49开心的小明
查看>>
团队进展(持续更新中)
查看>>
linux基础命令1
查看>>
计算机安装了IE8一半退出重启时,桌面只显示背景
查看>>
"模仿"还是"创新"
查看>>
Linux内核设计与实现 第一章 第二章
查看>>
hiho 第118周 网络流四·最小路径覆盖
查看>>
vc 10进制与2 8 16进制相互转换
查看>>
ECMAscript一些方法的使用
查看>>
菜根谭#49
查看>>
一步一步教你使用Ninject进行依赖注入
查看>>
WCF服务开发与调用的完整示例
查看>>
springMVC异常&&重定向&&转发
查看>>
MIP启发式求解:局部搜索 (local search)
查看>>
c、c++ 结构体的嵌套
查看>>
UVA 11859 - Division Game(Nim游戏)
查看>>
注释为基础的SpringMVC
查看>>
2012毕业找工作记录点滴
查看>>