Java学习_Day10

static修饰符
含义:静态的
修饰的内容:成员变量,代码块,内部类
①static修饰成员变量
成员变量的分类:
实例变量(属于对象的,开启的空间由对象生成,随对象消失)
类变量—>通过static修饰的成员变量(属于类)
当前类的所有对象共享一个变量
使用:
1.通过对象调用(不推荐)
2.通过类名调用
类名 . 类变量
在这里插入图片描述

	②static修饰成员方法
		成员方法分类:
			实例方法:属于对象
			类方法:属于类
		目的:方便调用方法(不需要new对象)
		 语法:  类名  . 方法名
		 提示:一般的工具类中的方法都为类方法
			在类加载的时候,先加载类方法,在加载普通方法(都不执行,只有调用才执行)
			注意:
				静态方法内没有this关键字,因为静态方法是使用类名调用,没有当前对象
				静态资源不能直接调用非静态资源,到那时可以直接使用静态资源
静态资源不能直接调用非静态资源:原因是静态方法会在方法区里面被先加载,所有短路
				非静态资源可以使用静态资源
public class Test1 {
    public static void main(String[] args) {
        Utils.a(); //静态资源调用静态资源
        Utils utils = new Utils();
        utils.c(); //非静态资源调用静态资源 (注意:非静态不能使用类名直接调用)
    }
}



public class Utils {
    public static void a(){
        int num=b();
        System.out.println(num);
    }
    public static int b(){
        return 5;
    }
    public  int b1(){
        return 5;
    }
    public  void c(){
        int num=b();
        System.out.println(num);
    }
//    public static  void e(){
//        System.out.println(5+b1());//err  静态资源不能直接调用非静态资源
//    }
}

**java提供了一些工具类(常用的)**
	①Arrays对数组的操作
			Arrays.sort(数组)   排序
			Arrays.toString(数组) 将数组里面的数据拼接成字符串
			Arrays.copyOf(数组,新数组的长度)  数组赋值
		②System 系统类
			System.currentTimeMillis();  返回当前时间搓(从1970.1.1起的毫秒)
			System.exit(int) 系统退出(0是安全退出)
			System.gc()  垃圾回收机制
		③Math类
		Math.abs() 绝对值
		Math.random() 随机数[0,1)
		Math.round()  四舍五入
		Math.floor()  向下取整
		Math.ceil()  向上取整
		Math.sqrt()  开方
		Math.max()  最大值
		Math.min()  最小值
		Math.pow(3,4) 3的4次方
		Math.PI    
		
	**代码块**(实例初始化块)
	位置:直接在类体中(和成员变量,成员方法同级)
	语法:{代码块}
	原理:在实例化对象的时候默认调用,并且在构造方法之前
	应用场景:实例化对象前,输出一些代码

	**静态代码块**
			位置:直接在类体中(和成员变量,成员方法同级)
			语法:static{代码块}
			原理:在类加载的时候调用,并且只调用一次
			应用场景:类加载的时候,输出一些代码
		补充:如果在继承中:
					永远是先父类后子类(类加载,实例化对象)

	**抽象**
			abstract
				修饰符--->类、方法
					1.抽象类
						a.抽象方法和普通方法可以有0——n个
						b.有抽象方法该类必定是抽象类,到那时抽象类里面可以没有抽象方法
						c.抽象类不能实例化
						d.子类继承父类,必须实现父类的所有抽象方法
						e.抽象类可以有构造方法和属性,就是为了子类对象初始化父类空间
				抽象方法
					没有方法体
			用途:设计模板
			
	**多态**
		概念:之同一种行为,具有多个不同的表现形式;
		前提:
			1.必须是继承关系
			2.必须存在方法重写
			3.父类的引用指向子类的对象
		弊端:
			调用不到子类独有的方法
		好处:
			a.多态参数
			b.多态数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值