静态变量基础
来源:互联网 发布:查看linux用户密码 编辑:程序博客网 时间:2024/06/02 03:41
static优先于对象存在,因为static的成员随着类的加载就已经存在了。
静态代码块:随着类的加载而执行,优先级最高
内存分为堆内存(存放new出来的对象),栈内存(存放局部变量),数据区(存放静态变量和字符串常量),代码区(存放JAVA中方法的代码)。
37.在静态方法里面不能调用动态的方法 在类的构造方法里面可以this调用方法,可以省略this
你main方法是静态方法,
静态方法是不能调用非静态方法。
因为静态方法是提前加载的。这个时候可能非静态方法根本就还没加载。所以,是不允许在静态方法里面调用非静态方法的。(静态方法变量优先与对象加载)
可以在静态方法中,获得非静态方法所在的类的对象实例(new一个对象)。
在静态方法中,用这个实例去调用非静态方法。
静态的是共享的(类名,对象名都可以调用) 非静态的是特有的,静态方法不再是针对于某个对象调用,所以不能访问非静态的成员
局部变量不能是静态的,全局变量可以是静态的(在外面定义)
局部变量前不能放置任何访问修饰符 (private,public,和protected)。
静态方法变量,不能使用this,super (静态变量优先于对象加载)
类有2种访问控制权限: 公有的(可被所有类共享) 缺省的(可被当前包中的类访问)
类中成员有4种访问控制权限:
私有成员(private):该成员仅能被当前类的成员访问。
没有修饰符表示缺省权限(当前包可见):说明该成员能被当前类以及包中的其他类所访问,称在当前包可见
protected声明保护成员:该成员能被当前类及其子类、或当前包中的其他类访问,称在子类中可见
public声明公有成员:该成员可被所有类访问
(在一个java文件里面不能写两个public的class 只能写一个 mian函数只能写在public的class文件里)
import java.util.ArrayList;import java.util.List;public class bb{ public TTT tt; // public bb bb1 ; public void getname(bb bb1) { bb1.setTt(tt); } public TTT getTt() { return tt; } public void setTt(TTT tt) { this.tt = tt; } public static void main(String[] args) { // System.out.println(thi); //静态方法不再是针对于某个对象调用,静态变量属于类,所以不能访问非静态成员(super,this代表当前对象) //静态变量优先于对象存在 // bb1. // System.out.println(super.getClass().getName()); bb bb2 = new bb(); bb2.getname(bb2); System.out.println(bb2.getClass()); TTT tt = new TTT(); String str[] = {}; String s[] = new String[0]; System.out.println(new String[0]); } }
0 0
- 静态变量基础
- Java基础静态变量、静态方法
- Java基础-成员变量、局部变量和静态变量
- Java基础(五)---局部变量、全局变量、静态变量、final变量、静态常量、静态方法
- java基础 变量和静态的总结
- Java基础-静态变量、常量和方法
- JAVA基础:构造方法、静态变量
- Java基础4----静态变量和成员变量
- OC基础 类方法,成员变量,静态变量,全局变量
- C面试基础题-全局变量,静态变量,局部变量(1)
- java基础 4、静态变量和实例变量的区别
- C语言基础-------全局变量、局部变量、静态全局变量、静态局部变量的区别
- java基础,静态变量,静态初始化块,初始化快,成员变量的初始化顺序
- 面向对象编程基础 三 静态成员变量,静态函数以及静态代码块
- 【13】Java基础:java中的静态代码块,静态变量,静态方法
- java基础篇(五)——静态变量、静态方法、静态类
- Java基础白话文_何为Java静态变量,静态初始化,静态代码块?!
- Java基础——成员变量、局部变量和静态变量的区别
- hdu-1285 确定比赛名次
- How to Install Oracle 12C Enterprise Edition Database Ubuntu 13.10
- 快速入门C++ 07(构造器和析构器)
- ajax异步提交含有文件的表单
- 实验室基础信息系统
- 静态变量基础
- iOS 基础小结之常用控件三
- QTP退出函数
- Loadrunner中Socket协议接收定长和不定长的内容
- C语言链表各类操作详解
- 乱码java.io.CharConversionException: isHexDigit
- al11 写数据到SAP
- 清除解锁图案 首先执行cd data/system进入系统文件目录,执行ls列举文件目录,这里有三个与用户相关的文件accounts.db(gmail账号管理),gesture.key(手势识别文件)
- 百度地图api 常用 例子