Day17.1:静态与非静态的详解
静态与非静态
静态方法——类方法
是以static为关键词,从属于类,与类共生
public class Students{//class修饰的是一个类,所以这是一个学生类
public static void say(){//方法前加static修饰,则是静态方法,在其他类中可以直接调用
System.out.println()
}
}//在下面的类中直接调用
public class Demo{
public static void main(String() args){
Students.say();//调用上方中类的方法;因为是静态方法;直接类名.方法即可;
//只要一个类的方法是静态方法,不管这个类是是否在本类中,调用静态方法时,通过类名.方法即可调用!
}
}
非静态方法——实例方法,成员方法
对象专用方法,与对象共生
public class Students
public void say(){//方法前没有static修饰,则是非静态方法,在其他类中可以不能直接调用!不能直接调用!不能直接调用!
System.out.println()
}
}//在下面的类中进行调用
public class Demo{
public static void main(String() args){
//若果要调用类的非静态方法,则需要将类实例化,即以类为模板,建立一个单独的对象;实例化就是创造对象
//上面为学生类,我们新建立一个学生,则该学生享有类(模板)的属性和方法
Students xiaoMing=new Students();//我们以学生类创造了一个学生;那么这个学生则是学生类型,将他命名为xiaoMing;
xiaoMing.say();//我们创造的xiaoMing享有模板的一切属性和方法;所以可以通过对象名.方法
}
}//非静态方法为对象专属,只能通过对象调用
静态方法与非静态方法之间的调用关系
在同一类中:
静态方法之间可以直接调用、不可以直接调用非静态方法
非静态方法之间可以直接调用、可以直接调用静态方法
静态方法A | 非静态方法A | |
---|---|---|
静态方法B 是否可以被直接调用 | 可以 | 可以 |
非静态方法B 是否可以被直接调用 | 不可以 | 可以 |
- 为什么在同一类中静态方法可以直接互相调用呢?
静态方法与类一起加载,两者可以直接相互调用。
- 为什么在同一类中静态方法不可以直接调用非静态方法呢?
静态方法与类一起加载,而非静态方法只能通过对象建立后才能加载,等于说已经加载的方法不能调用还没有加载的方法,所以不能直接使用。
- 为什么同一类中非静态方法之间可以直接调用?
因为两个非静态方法在对象建立后被同时加载,所以可以直接调用。
public class Demo{
public static void main(String[] args){
}
public static void a(){
//a为静态方法,与Demo类同时加载,而下方b方法并未加载,b需要Demo实例化后,即创造一个对象后才能加载
//所以a不能调用b
}
public void b(){
}
}
public class Demo{
public static void main(String[] args){
}
public void a(){
//a和b为两个非静态方法,在加载时没有时间差,可以互相调用,对象建立,两个方法同时加载
}
public void b(){
}
}
Day17.1:静态与非静态的详解的更多相关文章
- 技巧:Linux 动态库与静态库制作及使用详解
技巧:Linux 动态库与静态库制作及使用详解 标准库的三种连接方式及静态库制作与使用方法 Linux 应用开发通常要考虑三个问题,即:1)在 Linux 应用程序开发过程中遇到过标准库链接在不同 L ...
- 值类型与引用类型(特殊的string) Typeof和GetType() 静态和非静态使用 参数传递 相关知识
学习大神博客链接: http://www.cnblogs.com/zhili/category/421637.html 一 值类型与引用类型 需要注意的string 是特殊类型的引用类型. 使用方法: ...
- .NET 基础 一步步 一幕幕[面向对象之静态、非静态]
静态.非静态 先来看一段代码来区分静态与非静态: using System; using System.Collections.Generic; using System.Linq; using Sy ...
- C#基础知识之静态和非静态
项目中静态和非静态常被用到,什么时候需要用静态的,什么时候需要使用非静态,以及他们的区别是什么? 一.概述 静态和非静态的不同地方,就是静态从程序一启动就会一直占用内存,而非静态只有在实例化的时候才会 ...
- C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态
C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal接口的成员默认访问修饰符是public C#修饰符--类 ...
- 初学者必看:.NET 中的静态与非静态的异同
对于初学者来说,.NET 的静态和非静态一直比较难掌握,这里做一个总结,介绍静态类和普通类,静态方法和实例方法,静态构造函数和实例构造函数,静态字段和非静态字段的区别. 静态类 vs 普通类 静态类与 ...
- 20151024_001_C#基础知识(静态与非静态的区别,值类型和引用类型,堆和栈的区别,字符串的不可变性,命名空间)
1:我们把这些具有相同属性和相同方法的对象进行进一步的封装,抽象出来类这个概念. 类就是个模子,确定了对象应该具有的属性和方法. 对象是根据类创建出来的. 2:类:语法 [public] class ...
- c#基础3-方法的重载静态和非静态,字段属性,方法
方法的重载概念:方法的重载指的就是方法的名称相同给,但是参数不同.参数不同,分为两种情况1).如果参数的个数相同,那么参数的类型就不能相同.2).如果参数的类型相同,那么参数的个数就不能相同.***方 ...
- Net基础篇_学习笔记_第十一天_面向对象(静态与非静态 static)
static:静态的 静态和非静态的区别1).在非静态类中,既可以有实例成员(非静态成员),也可以有静态成员. 成员----方法/函数2).在调用实例成员的时候,需要使用对象名.实例成员; 在调 ...
- C# 面向对象3 静态和非静态的区别
静态和非静态的区别 1.在非静态类中,既可以有实例成员(非静态成员),也可以有静态成员. 2.在调用实例成员的时候,需要使用对象名.实例成员; 在调用静态成员的时候,需要使用类名.静态成员名; 总结: ...
随机推荐
- Kingbase_FDW 使用介绍
与postgresql_fdw功能类似,KINGBASE_FDW 是一种外部访问接口,它可以被用来访问存储在外部的数据.想要使用fdw访问数据需要先确保:网络通,数据库访问配置(pg_hba,con ...
- QT学习(五)----360界面制作(2终结)
继续上一章的360新特性界面.源代码:http://download.csdn.net/detail/zhangyang1990828/5241242 上一章中实现了整个界面的纯UI设计,这次我们让它 ...
- Git Bash(提交文件到GitHub进行托管)
Introduction 使用Git Bash命令,可以将一个项目上传到Github官网中,进行托管,避免重要文件被误删 1.Git工具下载 Git for Windows 2.在github中新 ...
- Windows 10无法显示无线网络连接
最近刚刚升级了一下操作系统,升级到了1903版本.正好又有一个HP的打印机安装了一下.结果,发现居然无法管理无线网络了.如果看不到图,请点我. 右击选择连接,也无法显示SSID. 驱动是从这个官网下载 ...
- Kubernetes 监控--Alertmanager
前面我们学习 Prometheus 的时候了解到 Prometheus 包含一个报警模块,就是我们的 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警 ...
- Solutions:Elastic SIEM - 适用于家庭和企业的安全防护 ( 二)
- 【ceph】理解Ceph的三种存储接口:块设备、文件系统、对象存储
文章转载自:https://blog.51cto.com/liangchaoxi/4049104
- Elasticsearch 主从同步之跨集群复制
文章转载自:https://mp.weixin.qq.com/s/alHHxXont6XFm_m9PfsGfw 1.什么是跨集群复制? 跨集群复制(Cross-cluster replication, ...
- 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》
论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...
- Go Micro介绍与入门
一 什么是Micro? Micro是一个微服务生态系统,致力于提供产品,服务和解决方案,以实现现代软件驱动型企业的创新.我们计划成为任何与微服务相关的事实资源,并期待公司能够利用这项技术为自己的业务. ...