编程语言的三大发展阶段:面向机器语言、面向过程语言、面向对象语言 ;

其中面向对象语言主要体现三个特征:封装性、继承、动态 ;

类的定义:类声明和类体。基本格式如下:

class 类名{

   类体

}

特点:

1、类是Java程序的基本要素,一个Java应用程序就是由若干个类所构成;

2、类声明的变量称为对象变量,也简称 对象 ;

3、class 关键字是用来定义类 ;

4、类的目的是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为;

4、类名必须是合法的Java标识符;

Java标识符详细说明:(以及中文标识符的说明)

https://blog.csdn.net/LagerSwan/article/details/104081548


类的声明:

如下所示:

class Number {

.....

}

class 数字 {

.....

}

其中 class Number 与 class 数字 称为类的声明,而 Number 和 数字 则为类名 ;


类体,即 { } 中的内容:

类体的内容由如下两部分构成:

  • 变量的声明:用来存储属性的值 ;(体现了对象的属性)
  • 方法的定义:方法可以对类中声明的变量进行操作;(体现了对象的行为)

如下代码演示:

public class Class_Test {int number = 10;double numberd = 11.111;double TestDouble() {double numbers = 100 ;numbers += numberd;return numbers;}public static void main(String[] args) {Class_Test test = new Class_Test();System.out.println(test.TestDouble());}
}

在以上代码中,声明了一个类 Class_Test ,两个变量 number 与 numberd ,一个方法 TestDouble() ,一个主方法 main () ;


成员变量的定义:

一、成员变量的类型:

成员变量的类型可以是Java中的任何一种数据类型,包括了基本数据类型:整形、浮点型、逻辑类型、字符类型 ;引用类型中的:数组、对象和接口;  

如下代码演示:

public class Class_Test {public static void main(String[] args) {//成员变量的说明//基本数据类型的成员变量int testt = 11 ;float testf = 11.111f ;double testd = 11.11111 ;//引用类型的变量int a [] ;Class_Test test ;}
}

在以上代码中,成员变量:testt,testf,testd 是基本数据类型的变量;a [ ] ,test是引用类型的变量,a [ ] 为数组的变量,test 为类声明的变量,即类对象;

二、成员变量的有效范围:

成员变量在整个类内都是有效的,其有效性与它在类体中声明的先后位置是不关的;

如下代码演示:   最终输出: 110

public class Class_Test {//成员变量的有效范围:int number = 11 ;int Int_Test(){int int1 = number * digit ;return int1;}int digit = 10 ;public static void main(String[] args) {//类体的说明Class_Test test = new Class_Test();System.out.println(test.Int_Test());   }
}

不建议大家这样编写程序,当代码量多时,对代码的可读性有一定的影响,建议先声明成员变量,再定义方法;

三、成员变量的编写风格:

建议大家在声明成员变量时,变量的名字使用驼峰规则,即变量名由多个单词组成时,从第二个单词开始的其他单词的首字母大学;如:computerArea 、ClassExceptionShow 


方法的使用:

在类体中,方法的定义包括两部分:方法头、方法体 ;  一般格式如下:

方法头 {

方法体

}

一、方法头说明

方法头由方法的类型、名称、名称后面的 () 以及 ()里面的参数列表所构成;

如下代码演示:

//无参数的方法头
double testd (){return 11.111;
}//有参数的方法头, x 和 y 即为参数
double testd (double x,double y){return x+y;
}

二、方法体说明:

方法体即 方法()后面的 { } 以及 { } 里面的内容;

在方法体中声明的变量为局部变量,而不是成员变量,局部变量只在方法体内有效,而且与声明时的前后位置有关;

如下代码演示:

double testd = 10 ;
double testd (double x,double y){      //参数 x,y是局部变量double sum;                         //参数 sum 是局部变量sum = x + y ;if(sum>x){sum += testd ;         //参数 testd 是成员变量(全局变量)
}return sum;        //return 语句,返回 sum 的值
}

局部变量的介绍:

1、局部变量不同与成员变量,局部变量只在方法中有效,而且与其声明的位置顺序有关;

2、若局部变量声明在一个复合语句中,那么该局部变量的有效范围只在复合语句中有效;

double testd (double x,double y){      //参数 x,y是局部变量double sum;                         //参数 sum 是局部变量sum = x + y ;if(sum != 0){int ints = 1;        // ints 为复合语句中的局部变量sum += ints ;}double bottom = 1.1;bottom += ints ;         //程序报错:ints cannot be resolved to a variablereturn sum;}

3、若局部变量声明在一个循环语句中,那么该局部变量的有效范围只在循环语句中有效;和以上复合语句是一样的;


总结:成员变量与局部变量的区别

1、局部变量不同与成员变量,局部变量只在方法中有效,而成员变量在整个类中都有效;

2、局部变量与其声明的位置顺序有关,而成员变量与其声明的位置顺序无关;

3、若局部变量的名字和成员变量的名字相同,那么成员变量会被隐藏,即在方法体中成员变量暂时是无效的,如下代码演示:

class Test_Variable {int x = 10 , y ;void tests () {int x = 5 ;y = x + 10 ; //y的值为 15 ,而不是20,此时成员变量 x = 10 在该方法体中,暂时失效;}}

4、当想使用方法中被隐藏的成员变量,可以使用关键字 this 进行调用,如下代码演示:

class Test_Variable {int x = 10 , y ;void tests () {int x = 5 ;y = this.x + 10 ; //此时 y 的值为 20 ,而不是15,this.x调用的为成员变量 x = 10 ;}}

5、成员变量有默认值,而局部变量没有默认值,因此在使用局部变量时,要确保该局部变量是有初始值的,否则程序报错;

class Test_Variable {int  y ;void tests () {int x;       //报错:The local variable x may not have been initializedy = x + 10 ; }}

Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别相关推荐

  1. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  2. python定义私有变量的方法_Python私有变量的定义方法

    学过编程语言的人员,都知道私有变量在编程中必不可少,与Java和C语言用private关键字定义私有变量不同,Python是在变量前面加上双横杠(例如:__test)来标识, Python私有变量只能 ...

  3. java main方法static_在java中为什么要把main方法定义为一个static方法?

    我们知道,在C/C++当中,这个main方法并不是属于某一个类的,它是一个全局的方法,所以当我们执行的时候,c++编译器很容易的就能找到这个main方法,然而当我们执行一个java程序的时候,因为ja ...

  4. java类与对象(属性,方法)的使用

    ---恢复内容开始--- 类和对象是java编程中很重要的应该面向对象的一课,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语言的基础 ...

  5. java中私有变量和方法_Java 私有变量和私有方法

    作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引 访问私有变量 访问私有方法 在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是 Java ...

  6. 安卓studio 不能运行java_Android Studio无法执行Java类的main的解决方法

    Android Studio升级到哦最新版3.6.1后,新建了个项目,发现无法执行Java类的main方法.试了网上的各种方法,比如切换gradle离线模式.gradle.properties中添加a ...

  7. linux环境变量设置方法,Linux环境变量设置指南

    以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...

  8. java类和对象之包的定义

    文章目录 包的基本概述 包的作用 包的定义 导包 例题一 例题二 包的基本概述 在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事, ...

  9. Java类class getClasses()方法及示例

    类的类getClasses()方法 (Class class getClasses() method) getClasses() method is available in java.lang pa ...

  10. Java类class isMemberClass()方法及示例

    类的类isMemberClass()方法 (Class class isMemberClass() method) isMemberClass() method is available in jav ...

最新文章

  1. fabric 简单理解
  2. select html value属性,HtmlSelect.DataValueField 属性 (System.Web.UI.HtmlControls) | Microsoft Docs...
  3. linux遍历目录源代码
  4. java去掉字符串中前后空格函数_Java去除字符串中的空格
  5. mybatis xml 参数 使用
  6. 解释一下全连接层CNN中全连接层是什么样的
  7. 小白学深度之LSTM长短期记忆神经网络——深度AI科普团队
  8. linux执行定时,linux定时执行 - 乄珍惜
  9. Spring 下 MyBatis 的基本使用
  10. mysql 查询时间戳(TIMESTAMP)转成常用可读时间格式
  11. 微信小程序教程、微信小程序开发资源下载汇总
  12. 【金融量化分析】#BSM formula 的推导(解随机微分方程)
  13. 线性插值法(一次插值多项式)的Python程序
  14. 5G/NR 5G核心网(5GC)之网络功能和实体
  15. bt_迅雷_种子文件后缀名
  16. Python(求第五个人岁数)
  17. Windows系统下安装Linux双系统(硬盘安装)
  18. LinuxC TCP实现简易聊天室
  19. 微信小程序导航栏切换页面
  20. 神州信息郭为:以《数字化的力量》为锚,驶向数字文明的星辰大海

热门文章

  1. 什么是前端的核心竞争力
  2. ERROR Plumber found unhandled error: Error in plugin gulp-htmlmin
  3. CISP笔记 Cyrus
  4. item_search_img-按图搜索1688商品(拍立淘)接口的接入参数说明
  5. 地理模块化施工的优点_2019年高考地理微专题09秒解分析影响意义题
  6. 2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码
  7. Bzoj1502【NOI2005】月下柠檬树
  8. mysql怎么样修改schema_MySQL 5.6使用pt-online-schema-change在线修改大表字段长度
  9. 用java实现建造者模式
  10. 关于WiFi必须了解的基础知识