常见类

内部类

Java内部类详解

用得最多的是在有事件监听的情况下

广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类

  • 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。

    class Circle {
        double radius = 0;
         
        public Circle(double radius) {
            this.radius = radius;
        }
         
        class Draw {     //内部类
            public void drawSahpe() {
                System.out.println("drawshape");
            }
        }
    }
    
  • 静态内部类是不需要依赖于外部类

匿名内部类

java中的匿名内部类总结

匿名内部类:没有名字的内部类

  • 匿名内部类只能使用一次,它通常用来简化代码编写

  • 使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口

  • 只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现

    最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口

public class Demo {
    public static void main(String[] args) {
        Thread t = new Thread() {
            //直接将抽象类的方法在大括号中实现了,这样便可以省略一个类的书写
            public void run() {
                for (int i = 1; i <= 5; i++) {
                    System.out.print(i + " ");
                }
            }
        };
        t.start();
    }
}

常见类

Random

JAVA中的Random()函数

java.lang.Math.Random

调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布

java.util.Random

Random():创建一个新的随机数生成器。

Random(long seed):使用单个 long 种子创建一个新的随机数生成器。

rand.nextInt(100);中的100是随机数的上限,产生的随机数为0-100的整数,不包括100

AtomicInteger类

AtomicInteger类的理解与使用

https://blog.csdn.net/u012734441/article/details/51619751

AtomicInteger 是一个提供原子操作的 Integer 类,通过线程安全的方式操作加减(适合高并发情况下的使用

  • 在使用Integer的时候,必须加上synchronized保证不会出现并发线程同时访问的情况
  • 而在AtomicInteger中却不用加上synchronized,在这里AtomicInteger是提供原子操作的
public class Sample1 {

    private static Integer count = 0;

    synchronized public static void increment() {
        count++;
    }

}
public class Sample2 {

    private static AtomicInteger count = new AtomicInteger(0);

    public static void increment() {
        count.getAndIncrement();
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值