Java基础—Java方法的调用
Java方法的调用个主要有以下几种:
1.调用非静态方法
2.调用静态方法
3.方法与方法之间的调用
(1).静态方法内部调用其他方法
(2).非静态方法内部调用
1.调用非静态方法:
非静态方法的调用,是通过对象名来调用的
对象名.方法()
代码演示:
public class EG { // EG:类名 eg:对象名
public static void main(String[] args) {
// 通过new关键字来调用构造方法EG(),实例化对象并取名为eg
EG eg = new EG();
// 调用非静态方法 对象名.方法()
eg.introduction();
}
/**
* 1.非静态方法
* 非静态方法就是没有static修饰的方法,对于非静态方法的调用,是通过对象名来调用的
* 对象名.方法()
*/
public void introduction() {
System.out.println("you know what i mean when you run it");
}
}
运行结果: you know what i mean when you run it
2.调用静态方法:
静态方法的调用是通过类名来调用的:类名.方法()
也可直接调用
代码演示:
public class EG { // EG:类名 eg:对象名
public static void main(String[] args) {
// 通过new关键字来调用构造方法EG(),实例化对象并取名为eg
EG eg = new EG();
// 调用静态方法 类名.方法()
System.out.println(EG.add());
// 调用静态方法也可以直接调用
System.out.printIn(add());
}
/**
* 2.静态方法就是用 static 修饰的方法,静态方法的调用是通过类名来调用的:类名.方法()
* @return
*/
public static int add() {
int a = 0;
for (int i = 0; i < 5; i++) {
a += i;
}
return a ;
}
}
运行结果: 10
10
3.方法与方法之间的调用
(1).静态方法内部调用其他方法:
静态方法可直接调用静态方法,除了在 main 方法中,还可以在自定义的静态方法中直接调用。
如果在本类当中是非静态方法,就必须通过对象来调用。
如果不在一个类当中,静态方法调用其他类中的静态方法,必须通过:类名.静态方法();
如果在不同类当中,静态方法调用其他类的非静态方法,需要导入该类中的包,以及通过创建对象调用。
代码演示:
public class EG {
public static void main(String[] args) {
// 静态方法直接调用静态方法
test1(); // run: this is test1
test2(); // run: this is test1 this is test2
}
public static void test1() {
System.out.println("this is test1");
}
public static void test2() {
test1();
System.out.println("this is test2");
}
}
运行结果 :
this is test1
this is test1
this is test2
(2)非静态方法内部调用:
如果在本类中,非静态方法可以直接调用静态方法与非静态方法。
在不同类中,非静态方法调用其他类的静态方法,需要通过导入该类中的包,并且需要通过类名来调用
在不用类中,非静态方法调用其他类的非静态方法时,需要导入该类中的包,还需要通过创建对象来调用
代码演示:
public class EG {
public static void main(String[] args) {
// 通过new关键字来调用构造方法EG(),实例化对象并取名为eg
EG eg = new EG();
// 通过对象名.方法名()调用得静态方法
eg.introduction();
}
public void introduction() {
System.out.println("you know what i mean when you run it");
// 在本类中,非静态方法可以直接调用静态方法与非静态方法。
introduction2();
}
public void introduction2() {
System.out.println("这个类用来展示非静态类调用非静态类");
}
}
运行结果:
you know what i mean when you run it
这个类用来展示非静态类调用非静态类
Java基础—Java方法的调用的更多相关文章
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- Java基础-Java数据类型
Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...
- 2.Java基础:方法定义和调用
一.方法的定义 1.类的方法代表的是实力的某种行为(或功能) 方法的定义:方法类型 . 方法签名 . 方法体 2.定义类的方法 访问修饰符 类型 方法名(参数列表){ ///方法体 } 3.把方法当作 ...
随机推荐
- 一文读懂MySQL的事务隔离级别及MVCC机制
回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...
- jquery 添加html标签
<script type="text/javascript"> var sss = 1; function addFile() { if (sss < 20) { ...
- react渲染数据3种方式
直接渲染,()类似于模板字符串,包裹一个dom元素 ReactDOM.render( (<div> <h2>现在时间:{new Date().toLocaleTimeStrin ...
- <article>
今天介绍的是html中<article>标签的用法,如果有兴趣的朋友可以看一下! <article> 标签规定独立的自包含内容. 一篇文章应有其自身的意义,应该有可能独立于站点 ...
- Python之for循环和列表
for循环: 有限循环 基本语法: for 变量 in 可迭代对象: 循环体 也可使用break,continue,for else list列表初识: 列表可放任意数据类型:[int,str,boo ...
- 如何对数据进行MD5加密
前端进行加密 /** * jQuery MD5 hash algorithm function * * <code> * Calculate the md5 hash of a Strin ...
- linux 查看nginx的安装路径等信息
做个随笔,记录一下. 想查看nginx的配置文件,但不知道nginx是安装在哪个目录下? ps -ef | grep nginx Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的 ...
- CVE-2019-15107漏洞复现
特别说明 漏洞复现参考了teeom sec的panda潘森的文章,是根据他的思路进行复现. 搭建dockers环境, 然后安装vulhub(此处省略,自行百度) 进入vulhub/webmin/CVE ...
- MVC框架的代码审计小教程
介绍 YxtCMF在线学习系统是一个以thinkphp+bootstrap为框架进行开发的网络学习平台系统. 在线学习系统,为现代学习型组织提供了卓有成效的学习与培训方案, 能够通过在线学习和在线评估 ...
- Gerrit 服务搭建和升级详解(包括 H2 数据库迁移 MySQL 步骤)
1. 安装Gerrit-2.9.5版本(Ubuntu) Gerrit版本:Gerrit-2.9.5.war 操作系统:Ubuntu 16.04.3 JAVA环境:java version " ...