创建java类中类出现is not an enclosing class

  1. public class A {
  2. public class B {
  3. }
  4. };

需要实例B类时,按照正逻辑是,A.B ab = new A.B();

那么编译器就会出现一个错误--"is not an enclosing class"

再翻看相关的Java代码,发现原来写法出错了!正确的做法是

[java] view plain copy 

  1. A a = new A();
  2. A.B ab = a.new B();

没有静态(static)的类中类不能使用外部类进行.操作,必须用实例来进行实例化类中类.

原文地址:https://www.cnblogs.com/zhuyeshen/p/12080577.html

时间: 2024-10-03 11:00:53

创建java类中类出现is not an enclosing class的相关文章

Eclipse 创建 Java 类---Eclipse教程第10课

打开新建 Java 类向导 你可以使用新建 Java 类向导来创建 Java 类,可以通过以下途径打开 Java 类向导: 点击 "File" 菜单并选择 New > Class 在 Package Explorer 窗口中右击鼠标并选择 New > Class 点击类的下拉按钮 () 并选择 ( ) 在打开创建 Java 类向导前,最好选择好Java类所属的包名,这样在创建 Java 类时包名字段就会自动填充. 使用新建 Java 类向导 Java 类向导的弹窗中你可以进

创建java类并实例化类对象

创建java类并实例化类对象例一1.面向对象的编程关注于类的设计2.设计类实际上就是设计类的成员3.基本的类的成员,属性(成员变量)&方法 面向对象思想的落地法则一:1.设计类,并设计类的成员(成员变量&成员方法)2.通过类,来创建类的对象(也称作类的实例化) public class zoo { public static void main(String[] args) { //基本数据类型的声明,数据类型 变量名=初始化值 //类的实例化:如a1就是一个对象 Animal a1=ne

创建Java类并实例化的基本过程

1 package com.sanguosha.java; 2 /* 3 * 面向对象实现的过程 4 * 1.创建类并设计类的成员(成员变量即属性and成员方法即方法) 5 * 2.通过类来创建类的对象,也称类的实例化 6 * 3.通过(对象.属性)和(对象.方法)调用,完成相应的功能 7 */ 8 public class Zoo { 9 public static void main(String[] args) { 10 //基本数据类型的实例化 11 int n=10; 12 //数组的

Eclipse中创建java类的时候自动设置作者信息和创建时间

window->preferences->Java->Code Stype->Code Templates Code->New Java files 点击Edit ${filecomment} ${package_declaration} /** * @author GK * @version 创建时间:${date} ${time} * @ClassName 类名称 * @Description 类描述 */ ${typecomment} ${type_declaratio

创建Java类并实例化深入理解

1 package com.sanguosha.java; 2 3 import java.util.Scanner;//导入包 4 5 public class TestPerson { 6 public static void main(String[] args) { 7 //Person类的实例化 8 Person p1=new Person(); 9 p1.eat(); 10 p1.sleep(); 11 p1.info();//调用info()方法来查看人的属性值 12 p1.age

IDEA创建maven项目之后无法编写java类

在创建Maven web项目之后无法再java文件夹下面创建java类,这里我可以教一下大家 选择你的文件夹,鼠标点击右键,出现下图所显示的,你可以按照下图所显示的步骤进行操作

Java类的加载、链接和初始化

一.Java的类加载机制回顾与总结: 我们知道一个Java类要想运行,必须由jvm将其装载到内存中才能运行,装载的目的就是把Java字节代码转换成JVM中的java.lang.Class类的对象.这样Java就可以对该对象进行一系列操作,装载过程有两个比较重要的特征:层次组织结构和代理模式.层次组织结构指的是每个类加载器都有一个父类加载器,通过getParent()方法可以获取到.类加载器通过这种父亲-后代的方式组织在一起,形成树状层次结构.代理模式则指的是一个类加载器既可以自己完成Java类的

Java类的加载 链接 初始化

原文地址 Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码到能够在JVM中被使用,需要经过加载.链接和初始化这三个步骤.这三个步骤中,对开发人员直接可见的是Java类的加载,通过使用Java类加载器(class loader)可以在运行时刻动态的加载一个Java类:而链接和初始化则是在使用Java类之前会发生的动作.本文会详细介绍Java类的加载.链接和初始化的

本地C代码中创建Java对象

创建Java域的对象就是创建Java类的实例,再调用Java类的构造方法. 以Bitmap的构建为例,Bitmap中并没有Java对象创建的代码及外部能访问的构造方法,所以它的实例化必然是在JNI的c中实现的. BitmapFactory.java中提供了得到Bitmap的方法,时序简化为: BitmapFactory.java ->BitmapFactory.cpp -> GraphicsJNI::createBitmap()  [graphics.cpp] GraphicsJNI::cre