java学习
1、Class.forName()主要功能
- Class.forName(xxx.xx.xx)返回的是一个类,
- 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的。.

浙公网安备 33010602011771号