java里的new 类
时间: 2023-10-02 21:07:36 浏览: 60
在Java中,关键字`new`用于实例化一个类。当我们使用`new`关键字创建一个类的新实例时,Java会在内存中分配空间来存储该实例,并返回一个指向该实例的引用。例如,下面的代码创建了一个名为`myObject`的新实例,该实例是`MyClass`类的一个对象:
```
MyClass myObject = new MyClass();
```
在这个例子中,`MyClass`是一个类名,`myObject`是一个对象名,通过使用`new`关键字,我们实例化了一个`MyClass`类的新实例,并将该实例的引用分配给`myObject`变量。这样,我们就可以使用`myObject`变量来访问该实例的属性和方法。
相关问题
Java哪些用new创建类
在Java中,通常使用`new`关键字来创建类的新实例,这是面向对象编程的基本实践之一。以下是一些常见的用法:
1. **创建普通对象**:当你需要创建一个类的典型实例时,例如一个`Person`类,会这样做:
```java
Person person = new Person();
```
2. **构造函数**:每个类都有默认构造函数,如果没有显式指定,`new`关键字会自动调用它。你可以自定义构造函数来初始化对象属性:
```java
Person person = new Person("John", 30);
```
3. **数组创建**:`new`用于动态创建数组:
```java
int[] numbers = new int[5];
```
4. **集合框架**:如ArrayList、HashMap等:
```java
ArrayList<String> list = new ArrayList<>();
HashMap<String, Integer> map = new HashMap<>();
```
5. **对象池**:在某些性能优化场景下,可能会使用`Pool`类库来预创建对象,减少`new`和`delete`的操作:
```java
ObjectPool<MyClass> pool = new ObjectPool<>(MyClass::new);
MyClass obj = pool.borrowObject(); // 获取对象
```
6. **线程创建**:Java中的Thread类也是这样创建的:
```java
Thread thread = new Thread(new Runnable() {...});
```
java 内部类new其他内部类
在Java中,内部类包括嵌套类(static inner class)和局部内部类(non-static inner class)。如果需要在一个内部类中再创建另一个内部类,通常会这样做:
1. **嵌套类创建另一个嵌套类**:
```java
public class OuterClass {
private InnerClass1 outerInnerClass1;
// 嵌套类1
class InnerClass1 {
// 如果需要在这个嵌套类内部创建另一个嵌套类
private InnerClass2 innerInnerClass2 = new InnerClass2();
}
// 创建OuterClass的实例,然后创建InnerClass1实例,并在其内部创建InnerClass2实例
OuterClass outerInstance = new OuterClass();
outerInstance.outerInnerClass1.innerInnerClass2.method();
}
```
2. **局部内部类创建另一个局部内部类**:
```java
void someMethod() {
// 局部内部类
class LocalInnerClass {
// 这里也可以创建另一个局部内部类
private LocalInnerClass2 localInnerClass2 = new LocalInnerClass2();
}
// 在方法内部创建LocalInnerClass的实例
LocalInnerClass localInner = new LocalInnerClass();
localInner.localInnerClass2.method();
}
```