1.图
![](https://box.kancloud.cn/c0cc4c9e3b1d829e4f909b89be38b71f_1096x620.png)
~~~
/**
* static关键字
* 作用:是一个修饰符,用于修饰成员(成员变量,成员方法)
* 1.被static修饰后的成员变量只有一份
* 2.当成员被static修饰之后,多了一种访问方式,除了
* 可以对象调用之外,还可以被类名直接调用(类名.静态成员)
* static的特点:
* 1.随着类的加载而被加载
* 2.优先于对象的存在
* 3.被所有的对象所共享的
* 4.可以直接被类名所调用
*
* 存放位置
* 类变量随着类的加载二存在于data内存区
* 实例变量随着对象的建立二存在于堆内存
*
* 生命周期:
*
*/
~~~
~~~
package obj.b3;
public class Tset {
public static void main(String[] args) {
System.out.println(Student.country);
/*Student a =new Student();
a.country="中国";
Student b =new Student();
System.out.println(b.country);*/
}
}
class Student{
String name;
int age;//实例变量
static String country;//静态变量(类变量)
}
~~~
~~~
/**
* static关键字
* 作用:是一个修饰符,用于修饰成员(成员变量,成员方法)
* 1.被static修饰后的成员变量只有一份
* 2.当成员被static修饰之后,多了一种访问方式,除了
* 可以对象调用之外,还可以被类名直接调用(类名.静态成员)
* static的特点:
* 1.随着类的加载而被加载
* 2.优先于对象的存在
* 3.被所有的对象所共享的
* 4.可以直接被类名所调用
*
* 存放位置
* 类变量随着类的加载二存在于data内存区
* 实例变量随着对象的建立二存在于堆内存
*
* 生命周期:
*
* 方法注意事项:
* 1.静态的方法只能访问静态的成员
* 2.非静态的方法既能访问静态的成员(成员变量,成员方法)也能访问非静态成员
* 3.静态的方法中是不可以定义this super关键字
* 因为静态优先于对象的存在,所以静态方法不可以出现this
*
* 什么时候使用静态
* static所修饰的内容是成员(成员变量,方法)
* 从两方面入手:
* 什么时候使用静态的成员变量:
* 当属于同一个类的所有对象出现共享数据时,
* 需要将存储这个共享数据的成员变量用static修饰
*
* 什么时候使用静态方法
* 当功能内部没有访问到非静态成员时(对象特有的数据)
* 那么该功能可以定义成静态的
*
*/
~~~
~~~
package obj.b3;
public class Tset {
public static void main(String[] args) {
Student.print();
//Student.p();错误的
}
}
class Student{
String name;
int age;//实例变量
static String country;//静态变量(类变量)
static void print(){
String AA="你好";
System.out.println(country);//对
//System.out.println(age);//错,这是非静态成员
System.out.println(AA);//对,这是局部变量,不是成员变量
}
void p(){
System.out.println(country);
}
}
~~~
- 书写心得
- 1.初识Java
- 2.变量、数据类型和运算符
- 实例:数据的输入
- 实例:变量互换
- 3.条件选择结构
- 案例:判断年份是否为闰年
- 案例:生成随机数
- 实例:剪刀石头布
- 4.循环结构
- 实例:猜数字游戏
- Myeclipse
- 实例:九九乘法表
- 实例:日历
- 5.数组
- JVM内存分析
- 键盘录入赋值数组
- 数组的length属性
- 数组的最大值(打擂台)
- 数组的排序
- 数组复制算法
- 数组的查找算法(搜索)
- 数组的插入算法
- 数组的冒泡算法
- 数组的选择排序
- 多维数组
- 实例:学生成绩管理系统
- 类和对象
- 概念
- 内存分析
- 创建类和对象
- 面向对象与内存分析
- 有参数无(有)返回值的调用
- 成员变量
- return和多参方法
- toString方法
- this关键字
- 封装
- 方法的重载
- 构造方法
- 阶段性总结
- 实例:学生管理系统
- Test.java
- Student.java
- Admin.java
- 构造代码块及构造函数之间的调用
- main方法和静态应用工具类及classpath
- static关键字
- 文档注释和静态代码块及单例模式
- 继承
- 多态
- 匿名对象和toString()和equals及final
- 抽象类和模板方法设计模式
- 接口
- 包机制和包与包之间的访问权限和jar包