java学习

1、Class.forName()主要功能

  1. Class.forName(xxx.xx.xx)返回的是一个类,
  2. Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。

Class.forName()的用法。

①new 和Class.forName()有什么区别和newInstance的用法?

A a = (A)Class.forName(“pacage.A”).newInstance();
A a = new A();
String str = “ABCDEFG” ; //创建一个字符串

Class t = Class.forName(str); //获取到str这个变量的类 相当于String t

t.newInstance(); // 相当于 t = new String 

newInstance(): 弱类型,低效率,只能调用无参构造。

new: 强类型,相对高效,能调用任何public构造。

Class.forName(“类名”)返回的是类。

Class.forName(“类名”).newInstance() 返回的是object 。
class.forname和newinstance

getclass()

getClass() 方法用于获取对象的运行时类。它返回一个 Class 对象,可以通过该对象获取类的相关信息,如构造方法、属性和方法等。

重写父类方法

public int getX() {return x;}
public int getX() {return super.getX()*10;}

getname()

getClass() 方法返回了 类的运行时类,并通过 getName() 方法获取了类名。

接口实现类

Com com = mew Com1();
interface Com{
int max(int x,int y);
}
class Com1 implements Com{
public int max(int x,int y){
return x>y?x:y;
}
}

singleton

Singleton模式是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点1。在实现上,Singleton类通过私有化构造函数来防止外部直接创建实例,并通过一个静态方法(通常称为getInstance())来提供对唯一实例的访问。

在getInstance()方法的实现中,通常会检查实例是否已经被创建。如果尚未创建,则创建实例并保存在一个私有的静态变量中;如果已经存在,则直接返回已有的实例1。这种机制确保了无论多少次调用getInstance()方法,返回的都是同一个实例。

关键点:

线程安全、延迟初始化以及防止多次实例化

class Singleton {

    private static Singleton instance;

    private Singleton() {

    }


    //write your code here......
    public static Singleton getInstance(){
      
            return instance;

        
    
    }
}

动态字符串

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        StringBuilder newstr = new StringBuilder(str); //用原字符串创建可改变的字符串
        for(int i = str.length() - 3; i >= 0; i -= 3){ //从末尾开始,三个三个遍历
           newstr.insert(i, ','); //插入逗号
        }
        System.out.println(newstr.toString()); //转变成String类输出
    }
}

charAt

charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。

语法
public char charAt(int inde

toCharArray

toCharArray() 方法 将给定的字符串转换为字符数组。返回的数组长度等于字符串的长度。

进制转换

// 将数字转换成字符串
Integer.toString(num);
// 将数字转换成二进制
Integer.toBinaryString(num);
// 将数字转换成八进制
Integer.toHexString(num);
// 将数字转换成十六进制
Integer.toOctalString(num);

seed

因此在Random类中seed是一个参数,用于生成伪随机数,伪随机数生成是0~n-1

math

求绝对值,平方根,对数,正弦值
System.out.println(Math.abs(num));
System.out.println(Math.sqrt(num));
System.out.println(Math.log(num));
System.out.println(Math.sin(num));

console

Java Console类用于从控制台获取输入。它提供了读取文本和密码的方法。

getInstance

这是单例模式,一般用于比较大,复杂的对象,只初始化一次,应该还有一个private的构造函数,使得不能用new来实例化对象,只能调用getInstance方法来得到对象,而getInstance保证了每次调用都返回相同的对象,getInstance往往是static的。.

posted @ 2025-08-22 19:07  xixixixin  阅读(6)  评论(0)    收藏  举报