java静态方法和实例方法的区别
静态方法(方法前冠以static)和实例方法(前面未冠以static)的区别
调用静态方法或说类方法时,可以使用类名做前缀,也可以使用某一个具体的对象名;通常使用类名。
static方法只能处理static域或静态方法。实例方法可以访问实例域, 静态域或静态方法, 记住都行。
class StaticTest {
static int a = 4;
static int b = 9;
static void call() {
/*下一句是错误的,因为静态的不能调用实例的方法。*/
//callins();
System.out.println("a = " + a+"马克-to-win"+Test.c);//静态方法可以访问静态属性
}
void callins() {
call();
System.out.println("a = " + a+"实例马克-to-win"+Test.c);//静态方法可以访问静态属性
}
}
public class Test {
static int c = 43;
public static void main(String args[]) {
/*刚运行到这一步时,debug观察,StaticTest.a的值就等于4,Test.c的值就等于43,
说明系统在我们的程序一开始时,就会给所有的类变量赋值。如果是对象参考, 就是null,
见photoshop的例子*/
StaticTest se =new StaticTest();
System.out.println("开始观察StaticTest.a和Test.c");
se.b=5;
StaticTest.call();//静态方法用类名直接调用
se.call();
se.callins();
System.out.println("b = " + StaticTest.b);//静态属性用类名直接调用
}
}
assignment: make a method which can print "hello world!".
package com;
class Car{
static int count = 0;
Car() {
count++;//实例方法可以访问静态变量
}
static int getCount(){
return count;
}
int inscal()
{
return getCount();//实例方法可以调用静态方法。
}
}
public class Test{
public static void main(String[] args){
System.out.println(Car.getCount());//it's ok
Car c = new Car();
System.out.println(c.getCount());//实例可以调用静态方法。马克-to-win
System.out.println(Car.getCount());
Car c1 = new Car();
System.out.println(Car.getCount());
System.out.println(c1.inscal());
}
}
更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103128670
java静态方法和实例方法的区别的更多相关文章
- java 静态方法和实例方法的区别
转自 java 静态方法和实例方法的区别 静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法 ...
- java 静态方法和实例方法的区别(转)
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这 ...
- JAVA 静态方法和实例方法的区别 (图表)
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这 ...
- Java静态方法和实例方法的区别以及this的用法
Java静态方法和实例方法 相同之处:都能接收传过来的参数,都能返回参数. 不同之处:有static就是静态方法,静态方法在另外一个类里面,不用new这个静态方法所在的类,也能直接访问这个方法,比较方 ...
- Java内存的 静态方法和实例方法的区别及使用场景
注意:变量指基本数据类型非对象,局部变量不能被静态修饰 1.(静态)成员变量存放在data segment区(数据区),字符串常量也存放在该区 2.非静态变量,new出来的对象存放在堆内存,所有局部变 ...
- Java静态方法和实例方法区别详解
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...
- Java | 基础归纳 | 静态方法与实例方法的区别
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...
- 编写高质量代码改善C#程序的157个建议——建议100:静态方法和实例方法没有区别
建议100:静态方法和实例方法没有区别 静态方法在加载时机和内存使用上和实例方法完全一致.在这里,我们先引出一个概念“类型对象”.比如类型Person,我们都知道new Person() 会产生一个对 ...
- java 静态方法和单例模式的区别
1.加载时间 首先明白内存问题 Java内存分为:堆内存.栈内存.方法区(静态区和非静态区).本地方法区 无论是静态方法还是非静态方法,在内存中都只有一份分别位于方法区的静态区和非静态区:非静态方法在 ...
随机推荐
- JZ-016-合并两个排序的链表
合并两个排序的链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目链接: 合并两个排序的链表 代码 /** * 标题:合并两个排序的链表 ...
- 微服务入门二:SpringCloud(版本Hoxton SR6)
一.什么是SpringCloud 1.官方定义 1)官方定义:springcloud为开发人员提供了在分布式系统中快速构建一些通用模式的工具(例如配置管理.服务发现.断路器.智能路由.微代理.控制总线 ...
- tp 5 三级联动查询(自写)
思路: 1.定义路由 2.查询顶级分类(pid=0)发送至制图 3.循环展示 4.给顶级分类下拉框绑定内容改变事件(JS:onchange.JQ:change) 5.获取到选中的option的valu ...
- 怎么样在手机调试js,jq,html,如何在手机上调试js,javascript
方法 直接在html中引入vconsole.js文件, 然后在js脚本中使用console.log('调试内容'); 即可看到如下效果,还可以在network里面看到ajax请求 我把js文件传到博客 ...
- 【自动化基础】allure描述用例详细讲解及实战
前言 allure可以输出非常精美的测试报告,也可以和pytest进行完美结合,不仅可以渲染页面,还可以控制用例的执行.下面就对allure的使用进行一个详细的介绍和总结. 需要准备的环境: pyth ...
- CentOS7.5安装Ansible
安装ansible: 查看可用的ansible版本: yum list|grep ansible 方法一: 系统可用ansible版本太低,安装epel源: yum install epel-re ...
- k8s原来这么简单(二)安装k8s1.23集群
官方文档:安装 kubeadm 安装条件 多台Linux机器 CentOS7 2G以上RAM,2个以上CPU 集群网络互通,可访问外网 关闭防火墙,关闭swap分区 准备安装环境 node IP k8 ...
- python练习册 每天一个小程序 第0010题
# -*-coding:utf-8-*- ''' 题目描述: 使用 Python 生成类似于下图中的字母验证码图片 思路: 运用PIL库加random 随机字母进行生成 ''' import rand ...
- STM32注意事项
1. STM32 USB可配置在全速模式,时钟频率需为48MHz,且精度较高,无法使用芯片内部高速时钟实现(内部时钟精度一般为1%,但USB时钟需要0.1%) 2. 使用重映射功能时,需注意开启AFI ...
- x64 番外篇——知识铺垫
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...