文章目录

  • (1) 类名.方法
  • (2) 变量

(1) 类名.方法

要是类名直接调用的方法,那这个方法就是静态的(static)方法,是不用new出新对象实例就可以直接调用的方法。看下面例子:

class A {public static void Method1(int a, int b) {//方法体}public void Method2(int c) {//方法体}public static void main(String[] args) {A.Method1(50, 90); //类名(A)直接调用静态方法Method1(),括号 内是传递的实参(实际参数)//如果不是静态方法,要调用它就需要先创建实例,然后利用实例对象来调用方法A a = new A(); //实例化对象aa.Method2(100);}
}

这是静态方法和非静态方法的一个区别,静态方法是类的方法,可以使用类名加英文句号加静态方法名来直接调用,<静态方法名里面写的就是【实参】>,用于向方法传递需要的参数。

(2) 变量

2.1 定义
(1) 由字母、数字、下划线、$组成,不能以数字开头。
(2) 大小写敏感。
(3) 不得使用java中的关键字和保留字。
关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举) 关键字。
true、false、null 严格说不应该算关键字,应称其为保留字更合适。

习惯:
(1) 标识符要符合语义信息。
(2) 包名所有字母小写。
(3) 类名每个单词首字母大写,其它小写,如:TarenaStudent。
(4) 变量和方法:第一个单词小写,从第二个单词开始首字母大写,如:tarenaStudent。
(5) 常量:所有字母大写,每个单词之间用 _ 连接。

2.2 常用的转义字符:
“\b” (退格)
“\f” (换页)
“\n” (换行)
“\r” (回车)
“\t” (水平制表符(到下一个tab位置))
"’ " (单引号)
“” " (双引号)
“\” (反斜杠)

2.3 变量字节

变量 类型 字节
boolean 布尔型 1个字节 8bit(8位)
byte 字节类型 1个字节
char 字符类型 2个字节
short 短整型 2个字节
int 整型 4个字节
float 浮点型(单精度) 4个字节
long 长整型 8个字节
double 双精度类型 8个字节

Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节

2.4 局部变量和全局变量

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个源文件中只能有一个public类
一个源文件可以有多个非public类

源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
如果一个类定义在某个包中,那么package语句应该在源文件的首行。
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。

import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。

package 的作用就是 c++ 的 namespace 的作用,防止名字相同的类产生冲突。
Java 编译器在编译时,直接根据 package 指定的信息直接将生成的 class 文件生成到对应目录下。如 package aaa.bbb.ccc 编译器就将该 .java 文件下的各个类生成到 ./aaa/bbb/ccc/ 这个目录。

JAVA文件中只能含有一个Public类

2.5 成员变量和类变量的区别

由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。
不同的对象的实例变量将被分配不同的内存空间, 如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其他对象的这个类变量,也就是说对象共享类变量。

成员变量和类变量的区别:

1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、别名不同
成员变量也称为实例变量。
静态变量也称为类变量。
4、数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
static 关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。
特点:
1、想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。
2、被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式。
3、静态随着类的加载而加载。而且优先于对象存在。

弊端:
1、有些数据是对象特有的数据,是不可以被静态修饰的。因为那样的话,特有数据会变成对象的共享数据。这样对事物的描述就出了问题。所以,在定义静态时,必须要明确,这个数据是否是被对象所共享的。
2、静态方法只能访问静态成员,不可以访问非静态成员。
因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。
3、静态方法中不能使用this,super关键字。
因为this代表对象,而静态在时,有可能没有对象,所以this无法使用。

什么时候定义静态成员呢?或者说:定义成员时,到底需不需要被静态修饰呢?

成员分两种:
1、成员变量。(数据共享时静态化)
该成员变量的数据是否是所有对象都一样:
如果是,那么该变量需要被静态修饰,因为是共享的数据。
如果不是,那么就说这是对象的特有数据,要存储到对象中。
2、成员函数。(方法中没有调用特有数据时就定义成静态)
如果判断成员函数是否需要被静态修饰呢?
只要参考,该函数内是否访问了对象中的特有数据:
如果有访问特有数据,那方法不能被静态修饰。
如果没有访问过特有数据,那么这个方法需要被静态修饰。

成员变量和静态变量的区别:
1、成员变量所属于对象。所以也称为实例变量。
静态变量所属于类。所以也称为类变量。
2、成员变量存在于堆内存中。
静态变量存在于方法区中。
3、成员变量随着对象创建而存在。随着对象被回收而消失。
静态变量随着类的加载而存在。随着类的消失而消失。
4、成员变量只能被对象所调用 。
静态变量可以被对象调用,也可以被类名调用。
所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。

一个包就是一个目录,一个包内的所有的类必须放在一个目录下,那个目录的名字必须是包的名字。
如果某个成员有static关键字做修饰,它就不再属于每一个对象,而是属于整个类的了。
如果某个成员有static关键字做修饰,它就不再属于每一个对象,而是属于整个类的了。

Java类名.方法和变量相关推荐

  1. java调用方法的变量_JAVA类的方法调用和变量(全套)

    一.类的分类: 1.普通类 2.抽象类(含有抽象方法的类) 3.静态类(不需要实例化,就可以使用的类) 二.方法的分类: 1.私有方法(只有类的内部才可以访问的方法) 2.保护方法(只有类的内部和该该 ...

  2. java 类名后加变量名是什么意思?

    回答这个问题我们需要先了解两个事情: A是一个类,我们如果对他进行实例化,需要这样写: A a = new A(); 详细解释一下这个语句,首先等号左边做的事情:在JVM栈内存(stack)中定义了一 ...

  3. java 类名方法_Java学习——根据类名获取方法名,并调用方法

    最近在项目中调用mybatis获取到了实体类对象,但是我们需要从实体类对象中取属性值,所以这里就需要以下几点知识: 1.根据Object对象获取类名 2.根据类对象获取所有的对象方法名 3.根据方法名 ...

  4. java类名变量_java类名操作变量方法

    JAVA中包括成员变量的定义和方法的定义,而成员变量的定义又包括类变量和实例变量的定义:其中用static 修饰的是类变量,而其他是实例变量. 实例变量和类变量的区别:一个类通过使用new 运算符可以 ...

  5. java 静态变量方法,java中的静态变量和静态方法

    java中的静态变量和静态方法 发布时间:2020-06-25 20:15:28 来源:亿速云 阅读:100 作者:Leah 今天就跟大家聊聊有关java中的静态变量和静态方法,可能很多人都不太了解, ...

  6. 非静态方法可以访问Java中的静态变量/方法吗?

    "非静态方法可以访问静态变量或调用静态方法"是Java中有关静态修饰符的常见问题之一,答案是, 是的 ,非静态方法可以访问静态变量或调用静态方法. Java中的方法. 这没有问题, ...

  7. java 隐藏父类方法,java 子类继承父类成员变量的隐藏、实现方法的重写

    成员变量的隐藏和方法的重写 Goods.java public class Goods { public double weight; public void oldSetWeight(double ...

  8. java修饰符默认_Java的类,方法,变量等等的默认修饰符是什么

    访问控制修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java支持4种不同的访问权限. 默认的,也称为default,在同一包内可见,不使用任何修饰符. 私有的,以pr ...

  9. java中的静态变量方法

    1.什么是静态变量和方法 被关键字static修饰的属性和方法 2.静态变量和实例变量有什么区别? 1.静态变量是被static修饰过的属性 实例变量是没有被static修饰过的属性 2.静态变量在内 ...

最新文章

  1. 历届 SIGGRAPH 上有什么新奇、有趣的项目?
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板特例化
  3. 如何以10倍速加速Apache Xalan的XPath处理器
  4. [转载] Python中的解析式和生成器表达式
  5. 大数据之-Hadoop之HDFS的API操作_文件下载案例---大数据之hadoop工作笔记0058
  6. ubuntu14.04安装vnc
  7. [BZOJ4872][六省联考2017]分手是祝愿(期望DP)
  8. 万万没想到一个普通的地区问题,竟然让我们大战了300回合
  9. cass有坐标文件生成里程文件_请问在CASS7.0中怎样生成坐标文件和里程文件,请尽量详细...
  10. 飞翔(风吹)的flash文字
  11. 五星大饭店韩文插曲-请不要离我而去MV
  12. 线程池为啥要用阻塞队列
  13. JDBC bug : You must configure either the server or JDBC driver
  14. CCF [201703-1] 分蛋糕(C++)
  15. DDL、DML、DQL、DCL、DTL MySQL常用语法大全
  16. 编程真的只是高智商人玩的东西吗?
  17. 为什么游戏流畅需要60帧,而电影流畅只需要24帧?
  18. Bat(批处理)文件编写手册(一)
  19. MySQL 性能优化:8 种常见 SQL 错误用法!
  20. HIT-ICS大作业-程序人生Hello‘s P2P

热门文章

  1. mfc链表中的数据如何排序输出_java程序员面试中最容易被问到的18个算法题(附答案!)...
  2. 精讲23种设计模式-基于观察者模式~设计异步多渠道群发框架
  3. ElasticSearch 索引基本操作_04
  4. 定时器new Timer().schedule()的使用
  5. SonarQube 质量配置,设置各个语言默认的扫描规则
  6. oracle数据库字符编码utf-8改为ZHS16GBK
  7. idea 暂存文件或idea切换分支代码不见了
  8. SecureCRT 文件下载上传
  9. Vue 自定义指令的注册方式和选项参数
  10. 学生成绩管理系统java+mysql+swing入门级项目开发