版权声明: https://blog.csdn.net/qq_40794602/article/details/86691257
static:
- static的可以用来修饰属性,也可以用来修饰方法
- 在静态方法中是没有this关键字的【掌握】 : 静态是随着类的加载而加载,this是随着对象的创建而存在;静态比对象先存在。
- 静态方法只能访问静态的成员变量和静态的成员方法【掌握】
- 非静态方法可以访问静态的成员变量和静态的成员方法【掌握】
- 简单记: 静态只能访问静态。
静态变量与成员变量的区别:
- 静态变量也叫类变量 成员变量也叫对象变量
- 所属不同:静态变量属于类,所以也称为为类变量;成员变量属于对象,所以也称为实例变量(对象变量)
- 内存中位置不同:静态变量存储于方法区的静态区;成员变量存储于堆内存
- 内存出现时间不同:静态变量随着类的加载而加载,随着类的消失而消失;成员变量随着对象的创建而存在,随着对象的消失而消失
- 调用不同:静态变量可以通过类名调用,也可以通过对象调用(不推荐);成员变量只能通过对象名调用
工具类EG(使用static和private来封装一个工具类):
public class J1{
public static void main(String[] args){
int [] a = {1,2,3,4,5};
ArryTool.printAll(a);
}
}
class ArryTool{
private ArryTool(){ //因为这是一个工具类,防止实例化
}
public static void printAll(int []arr) //工具类,将这个方法用static修饰,使得可以直接使用类名进行访问
{
for(int i = 0;i<arr.length;i++)
{
System.out.println(arr[i]);
}
}
}
java注释(三种):
- 行注释(单行注释):就是在一行的最前端 写上 “//” 【ctrl+/】
- 块注释(多行注释):就是在要注释的代码块的前面加上 “/*在结尾加上*/” 【ctrl +shift / 注释 ctrl +shift +\ 取消注释】
- 文档注释:文档注释一般用于方法或类上 “/** 在结尾加上*/”
代码块:
- 局部代码块:在方法中出现;限定变量生命周期,及早释放,提高内存利用率
- 构造代码块 (初始化块):在类中方法外出现;多个构造方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
- 静态代码块 【常用】:在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
- 一般用于加载驱动
继承(extends):
public class J1{
public static void main(String[] args){
Son son = new Son();
son.run();
}
}
class Father{
public void run()
{
System.out.println("我是测试继承的案例");
}
}
class Son extends Father{ //使用extends关键字继承
}
继承的好处:
- 提高了代码的复用性
- 提高了代码的维护性
- 让类与类之间产生了关系,继承是多态的前提
继承的弊端:
- 类的耦合性增强了。
- 开发的原则:高内聚,低耦合。
补充:
- 使用java自带的javadoc命令可以制作说明书
- 学习如何使用jdk帮助文档
- Math.random()会生成大于等于0.0并且小于1.0的伪随机数