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.把方法当作 ...
随机推荐
- Flink on Yarn三部曲之一:准备工作
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Archery安装教程
一. CentOS设置 1. 更换阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos ...
- SQL SERVER调优常用方法 sql优化
说起SQL SERVER的调优,我想大伙也很想知道这方面的知识.本人也正在探索的路上,大家有什么好的意见,欢迎一起探讨.研究.博取众人之长,才能扬长避短.本文中的内容主要是摘自<程序员的SQL金 ...
- 笔记之Utility.DataAccess
挤出时间看了一些代码,做一些笔记,备忘!!! 现在ORM随处可见,为什么不要已有的ORM而要手动写SQL呢?这肯定是有因为滴,存在必合理嘛! 自认为关于性能.维护.Maybe还有其他的,欢迎大家拍砖! ...
- JS 身份证号码验证
function checkIdcard(idcard) { var Errors = new Array( "验证通过!", "身份证号码位数不对!", &q ...
- MVC单文件上传
前言 现在来写下最基础的单文件上传,完成后可以扩展成各种不同的上传方式 HTML <input id="Input_File" type="file" / ...
- centos 7安装搜狗输入法之失败案例
最近打算在旧电脑上安装centos用,先用虚拟机做个测试 默认的intelligence pinyin不太好用,打算安装搜狗输入法.在网上找了几篇看起来还"不错"的, 基本上来第一 ...
- Win32之创建线程
0x01.什么是线程? 1.线程是附属在进程上的执行实体,是代码的执行流程 进程 本身是空间上的概念,代表4GB的虚拟内存,线程代表着时间概念,也就是说,线程是当前运行的代码 在某个时间点只能有一段代 ...
- kubelet拉取pause镜像报错pull access denied for 172.20.59.190:81/kubernetes/pause-amd64, repository does not exist or may require 'docker login': denied
目录 1 背景说明 2 现象 pod无法启动,一直显示ContainerCreating 3 问题分析 kubelet的启动参数如下 4 尝试的解决方法 4.1 本地docker login登录镜像仓 ...
- Luogu P5307 [COCI2019] Mobitel
题意 有一个 \(r\times c\) 的矩阵 \(a\),矩阵的每个位置都有一个正整数,求从左上角走到右下角并且满足路径上数字乘积之和大于 \(n\) 的方案数. \(\texttt{Data R ...