java的类可以定义在任何位置:

一般的类是一个文件里面写一个类,且类名和文件名相同,但是定义类的位置可以是任意的如图:

上图示例:

public class A{
class B{ } static class C{ } void doSomeThing(){
class D{ }
}
} class E{ } interface F{ }

实例展示:

public class A{
class B{
void im(){
System.out.println("I am B");
}
} static class C{
void im(){
System.out.println("I am C");
}
} void doSomeThing(){
System.out.println("I am A doSomeThing");
class D{
void im(){
System.out.println("I am D");
}
}
D d=new D();
d.im();
} public static void main(String[] args) {
A a=new A();
a.doSomeThing();
B b=a.new B();
b.im();
C c=new A.C();
c.im();
E e=new E();
e.im();
F f=new F(){
public void im(){
System.out.println("I am F");
}
};
f.im();
}
} class E{
void im(){
System.out.println("I am E");
}
} interface F{
void im();
}

通过上面的示例就可以看出,Java的类可以放在任何位置。

1、放在同级的类中的是其他类,不能被该文件之外的其他类访问。

2、放在类中的属于内部类。

3、放在类中且被static关键词修饰的属于静态内部类。

4、放在类中的方法里面的类属于局部内部类。

 特别说明: 类F(匿名内部类)
F类是一个接口,拥有一个 im() 方法,但是没有实现类,一般来说我们要先为她创建实现类实现里面的方法,才能调用,但是也可以在创建它的实例的时候再去实现它,这样的话实现类就不见了(也就是匿名了),所有称这样的类叫做匿名内部类。

匿名内部类的三要素:

1、匿名的类必须包含抽象方法(接口/抽象类)。

2、在实例化类的同时去实现该抽象方法。

3、由于没有名字,只能使用一次。

java类的定义位置的更多相关文章

  1. java类中定义接口

    今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...

  2. Java类的定义与类的实例化

    目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...

  3. 夜谈Java类的定义

    女孩:谈Java了,好耶? 男孩:夜谈一下,Java的类的定义~ 女孩:那谈Java的类的什么呢? 男孩:类的定义,对象的定义,类中的方法,构造方法,this关键字,方法的重载,Java中的类的访问权 ...

  4. Java类的定义及其实例化

    如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public cl ...

  5. 《Java基础知识》Java类的定义及其实例化

    类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog { String name; int age; ...

  6. java 类内部定义接口

    java类内部可以定义接口,作用可以看作是对类功能的进一步补充,类里面包含两部分:一部分是自己的固定的,一部分是可以变化的,而这可变的部分就编程了一个接口. 另一个作用是避免命名冲突. 示例 类Fru ...

  7. 7.2 java 类的定义和使用

    /* * 类的定义: * 类是用来描述现实世界的事物的 * * 事物: * 属性 事物的描述信息 * 行为 事物能够做什么 * * 类是如何和事物进行对应的呢? * 类: * 成员变量 * 成员方法 ...

  8. java类的定义与使用

    一 引用数据类型 1.引用数据类型的分类 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包 含了很多的方法与属性,可供我们使用. ...

  9. java类的定义以及参数传递

    class类(类似结构体)的定义 import java.util.Scanner; import java.io.*; class student{//类的名称 public String name ...

随机推荐

  1. webpack系列:webpack小老弟接了个简单活

    webpack深入浅出系列:进阶篇 前沿,本篇文章的讲解思路是以webpack的五大核心为线索,以webpack对象为第一视角来讲述(以前记得看过一个文笔非常厉害的技术啊婆写的,非常有趣.然后我就想着 ...

  2. 第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样?

    第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样? 一.    案例说明 我们上节提到了,使用property函数定义的属性不要与类内已经定义的普通实例变量重 ...

  3. PyQt(Python+Qt)学习随笔:Qt Designer中部件的mouseTracking和tabletTracking属性

    在Qt Designer中的部件属性设置中,有mouseTracking和tabletTracking两个属性,这两个属性是跟踪鼠标或平板触控笔的移动轨迹的. 一.mouseTracking mous ...

  4. pytorch 损失函数(nn.BCELoss 和 nn.CrossEntropyLoss)(思考多标签分类问题)

    一.BCELoss 二分类损失函数 输入维度为(n, ), 输出维度为(n, ) 如果说要预测二分类值为1的概率,则建议用该函数! 输入比如是3维,则每一个应该是在0--1区间内(随意通常配合sigm ...

  5. element ui中表格table翻页记忆勾选状态

    <el-table ref="multipleTable" :data="datalist" style="width:100%" @ ...

  6. 网络QoS的平衡之道——音视频弱网对抗策略介绍

    作者:网易智企云信资深音视频引擎开发工程师 王兴鹤 随着AI和5G的到来,音视频应用将变得越来越广泛,人们对音视频的品质需求也越来越高,视频分辨率已经从高清发展为超高清.VR,视频帧率也已出现60fp ...

  7. Panda交易所获悉,五地股权市场获批参与「区块链建设试点」

    Panda交易所获悉,北京市地方金融监督管理局官网于7月21日发布信息显示,"证监会发布<关于原则同意北京.上海.江苏.浙江.深圳等5家区域性股权市场开展区块链建设工作的函>,原 ...

  8. 【置顶】Trotyl's OI tree

    \(\rm thx\):@\(\rm UntilMadow\) ! \(\color{Green}{\rm Pupil}\) :只会一点点 \(\color{blue}{\text{Expert}}\ ...

  9. Map、Debug追踪

    Map集合   概述   现实生活中,我们常会看到这样一种集合:IP地址和主机名,身份证号和个人,系统用户名与系统用户对象等,这种一一对应的关系,我们把它称之为映射.Java当中提供了专门的集合类用来 ...

  10. 小米k30 pro刷国际版rom

    时间:2020.8.20 最新的是miui12但是普遍反映耗电量巨大,所以还是刷miui11了. 知乎上有个教程:https://zhuanlan.zhihu.com/p/86160027 但是是针对 ...