【Java基础】几种简单的调用关系与方法
直接上代码吧。
class lesson4AB
//同一个类下的public修饰的方法A,B可以相互调用
{
public void A()
{
B();//等价于this.B();
}
public void B()
{
A();//等价于this.A();
}
}
class lesson4C
//存在于不同类里的public修饰的方法C调用B
{
public void C()
{
lesson4AB lAB=new lesson4AB();
lAB.B();
//上下两种方法是等价的,都可以调用
new lesson4AB().B();
}
}
class lesson4DE
//同一个类中的static方法与非静态方法相互调用。
{
public static void D()//用static修饰,属于类成员
{
//E();//错误: 无法从静态上下文中引用非静态 方法 E()
//【通俗说是静态不引用非静态】 //this.E();//错误: 无法从静态上下文中引用非静态 变量 this
//【通俗说就是static和this不能共存】 new lesson4DE().E();//通过
//public void E()没用static修饰,属于对象,只能用对象来调用
}
public void E()//没用static修饰,属于对象
{
D();//等价于this.D();
//对象可以调用类成员
}
}
class lesson4
{
public static void main(String[] args)
{
System.out.println("May you happy!");
}
}
对于上述代码第35行的详细解释:
类方法不能调用非类方法,所以直接调用E()是错误的。但可以通过对象来调用,所以要new出来一个对象来调用它(非静态方法)。
网上有一段这样的话,总结的挺好:
类是一个抽象的概念,对象是一个实体。静态方法只能在内存中分配一个空间,不管多少次引用都指向那个空间,即常驻内存,是类对象,不是单个实例。而非静态方法是随对象产生的,每生成一个对象就新生成一个非静态方法,而且分配不同的空间。所以非静态成员必须依赖于对象。 (2014.10.31修改添加)
本人小菜鸟一枚,以上为网上自学心得总结,如有错误敬请指出。新手童鞋多多交流,大神们多多指点。祝大家生活愉快。
【Java基础】几种简单的调用关系与方法的更多相关文章
- java基础解析系列(十一)---equals、==和hashcode方法
java基础解析系列(十一)---equals.==和hashcode方法 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系 ...
- 一种简单快速的模板解析方法,活用with javascript版
//一种简单快速的模板解析方法,活用with var parseTpl = function( str, data ) { var tmpl = 'var __p=[];' + 'with(obj|| ...
- CSS里总算是有了一种简单的垂直居中布局的方法了
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- JAVA基础(二)—— 常用的类与方法
JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...
- java基础(1-50)-------->超级简单,不信你不会!!!
1:java中的保留字:const&goto; 2:&和&&都可以做逻辑运算符,即运算符两边的表达式都为true,结果才为true,一方为false,则结果为false ...
- java基础-四种方法引用
实例 直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用.代码中多有些不合适,尽情原谅. 静态方法引用 接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致. 调用 //静态引用 ...
- java基础:父类与子类之间变量和方法的调用
1)父类构造函数 java中当调用某个类的构造方法的时候,系统总会调用父类的非静态初始化块进行初始化,这个调用是隐式的,而且父类的静态初始化代码 块总是会被执行,接着调用父类的一个或者多个构造器执行初 ...
- java 基础 四种权限修饰符
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...
- Java中几种常用数据类型之间转换的方法
Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...
随机推荐
- ZOJ 3329 One Person Game 带环的概率DP
每次都和e[0]有关系 通过方程消去环 dp[i] = sigma(dp[i+k]*p)+dp[0]*p+1 dp[i] = a[i]*dp[0]+b[i] dp[i] = sigma(p*(a[i+ ...
- ASP.NET开发学习视频教程大全(共800集)
ASP.NET是微软.NET平台的支柱之一,被广泛应用在WEB等互联网开发领域,因此它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上.这里整理了最全的ASP.NET开发学习视频 ...
- css-文本及其他
<!DOCTYPE html>css7-文本和其他 text-align行内元素对齐方式,值为 左/中/右 对齐:left/right/center.test{text-align:cen ...
- 使用react-native做一个简单的应用-06商品界面的实现
商品界面实现起来很简单,其实就是一个listview的使用: 关于listview的使用,在官方文档里面已经介绍的很详细了.在这里我要提一个坑. listview在Android和iOS中的效果是不一 ...
- 2014年1月9日 Oracle常见授权与权限回收[转]
1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个: ALL ON 数据对象名 ...
- ios 调用相机后 view 下沉问题
我只加了一句代码 现在不报错了 因为这个问题是随机性的 我也不太明白这个地方是怎么回事 我只是这样子做了 问题不出来了 if ([[[UIDevice currentDevice] syst ...
- (转) Class
Classes are an expanded concept of data structures: like data structures, they can contain data memb ...
- java zip工具类
依赖jar :apache-ant-1.9.2-bin.zip import java.io.File; import java.io.FileInputStream; import java.io. ...
- 三星ssd转移系统
1. (正常模式)如果源磁盘小于目标磁盘 第 1 步 . 开始迁移 第 2 步 . 连接目标磁盘 ① 目标磁盘连接后,其状态会显示在屏幕上. ※ 如果您要连接 mSATA 产品,那么还需要 ...
- 轻量级jquery框架之--布局(layout)
布局需求 (1)支持横向生成布局项即可,不需要纵向生成布局. (2)支持布局项右侧收缩功能 (3)支持自定义布局项图标.标题,并提供动态修改布局项图片和标题的api (4)支持JSON/html/if ...