首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java基础】类的成员总结(属性,方法,构造器,代码块,内部类)

同时,方法中,需要使用 return关键字来返回指定类型的变量或常量:“return 数据”。 如果方法没有返回值,则方法声明时,使用void来表示。...通常,没有返回值的方 法中,就不需要使用return.但是,如果使用的话,只能“return;”表示结束此方法的意思。 3.2.2 我们定义方法该不该有返回值?...4.代码块 代码块的作用:用来初始化类、对象 代码块如果有修饰的话,只能使用static....对对象的属性等进行初始化 如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行 非静态代码块内可以调用静态的属性、静态的方法,或非静态的属性、非静态的 5.内部类 在Java中,可以将一个类定义在另一个类里面或者一个方法里边...在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。

57230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java中的嵌套类、内部类、静态内部类

    参考链接: Java中的嵌套类 在Java中我们在一个类的内部再定义一个类,如下所示:  class OuterClass {     ...    ...内部类与静态嵌套类虽然都是嵌套类,但在使用上是有一些区别的。 内部类 比如有如下内部类的定义, class OuterClass {     ...    ...static class StaticNestedClass {         ...     } }  那么我可以像正常使用一个一般的静态类那样使用一个静态嵌套类,只不过要通过其外围类的名字来访问静态嵌套类的名字...所以,外围类更像是静态嵌套类的命名空间。比如要获取静态嵌套类,要使用  OuterClass.StaticNestedClass。  ...如果要创建静态嵌套类的实力对象,使用如下的语法:  OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass

    1.7K50

    java的内部类和静态内部类(嵌套类)

    与静态类方法一样,静态嵌套类不能直接引用其封闭类中定义的实例变量或方法:它只能通过对象引用来使用它们。(就和两个普通不同的类之间的使用) 3....Java 拥有嵌套类有什么作用呢? 这是一种对仅在一个地方使用的类进行逻辑分组的方法:如果一个类仅对另一个类有用,那么将其嵌入该类并将两者保持在一起是合乎逻辑的。...当Java编译器编译某些构造(例如内部类)时,它会创建综合构造。 这些是类,方法,字段以及其他在源代码中没有相应构造的构造。合成构造使Java编译器无需更改JVM就可以实现新的Java语言功能。...答 :我们得明确一下 static修饰类的方法,表示这个方法和这个类对象没有关系,只是和这个类有关系 static 修饰变量,按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,...总结 嵌套类:内部类和静态内部类 内部类属于外部类的成员,必须依赖与外部对象来实现,静态内部类,不依赖,可以自己单独实现。 static 的修饰 变量,类,方法,代码块。 共性全局性。

    1.7K20

    【JavaSE专栏65】内部类的使用,定义在其他类内部的类

    ---- 一、什么是内部类 Java 中的内部类是定义在其他类内部的类。 内部类可以访问外部类的成员(包括私有成员),并且可以起到隐藏和封装的作用。...匿名内部类:没有名字的内部类,用于创建只需要使用一次的类。匿名内部类通常是在创建接口对象或者继承父类的时候使用。 内部类的特点包括以下 4 点,请同学们认真学习。...---- 二、内部类和普通类有什么区别 Java 中的内部类和普通类有以下 6 点区别,请同学们认真学习。 访问权限:内部类可以访问外部类的私有成员,而普通类不能直接访问外部类的私有成员。...通过将内部类定义在需要使用的地方,可以减少类的数量,简化代码结构。 实现多重继承:内部类可以实现多重继承,一个类可以同时继承多个内部类。...通过匿名内部类,可以在创建接口对象或继承父类的时候,快速定义相关的实现逻辑,简化代码。 ---- 四、内部类面试题 Java 中的内部类有哪几种类型?分别描述它们之间的区别和使用场景。

    40720

    Java中类的静态代码块、构造代码块、构造方法、普通代码块

    前言 Java中静态代码块、构造代码块、构造方法、普通代码块的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。...静态代码块 a.定义格式 在Java类(静态代码块不能定义在方法中)中,通过static关键字和{}声明的代码块: public class Person { static{...d.静态代码块不能访问普通成员变量,只能访问静态成员变量 构造代码块 a.定义格式 在Java类中通过{}声明的代码块: public class Person { static{...但是反过来,构造函数则不一定每个对象建立时都执行(多个构造函数情况下,建立对象时传入的参数不同则初始化使用对应的构造函数)。   ...;   3.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。

    3.6K10

    Java 的嵌套类(内部类和静态嵌套类)

    参考链接: Java嵌套静态类 嵌套类   Java允许在一个类定义另一个类,称为嵌套类 (Nested Classes),类似下面的形式   class OuterClass {     ...    ...class NestedClass {        ...    } } 复制代码  内部类与静态嵌套类    嵌套类有静态和非静态两种,其中静态的称为静态嵌套类(static nested classes...),非静态的称为内部类(Inner Classes)  一个嵌套类是包含它的外部类的一个成员,内部类能够访问外部类的其他成员,而静态嵌套类没有访问外部类的权限  作为外部类的成员,嵌套类能被声明为private...Java官方文档的解释:    Note: A static nested class interacts with the instance members of its outer class (and...nestedObject = new OuterClass.StaticNestedClass();   至于内部类,因为它有权限访问外部类的成员,所以必须依赖一个外部类的实体对象,内部类自身又依赖于实例对象

    88420

    java_内部类、匿名内部类的使用

    内部类的分类 成员内部类,类定义在了成员位置 (类中方法外称为成员位置) 局部内部类,类定义在方法内 成员内部类 :定义在类中方法外的类。...,包括私有成员 创建内部类对象格式: 外部类名.内部类名 对象名 = new 外部类型().new 内部类型(); 内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和符号...它的本质是一个 带具体实现的父类或者父接口的匿名的子类对象 匿名内部类必须继承一个父类或者实现一个父接口。...,匿名内部类的使用,代码如下: public class Demo1 { public static void main(String[] args) { new Swim(){...定义一个没有名字的内部类 这个类实现了Swim接口 创建了这个没有名字的类的对象 匿名内部类的使用场景 通常在方法的形式参数是接口或者抽象类时,也可以将匿名内部类作为参数传递。

    66430

    Java的抽象类、接口、内部类

    (2)抽象类中可以没有抽象方法,也可以有抽象方法。 (3)拥有抽象方法的类必须是抽象类,因此严格来说具有抽象方法并且使用abstract关键字修饰的类才算真正意义上的抽象类。...; (7)抽象类中增加方法可以不影响子类,而接口中增加方法通常影响子类; (8)从jdk1.8开始增加特性允许接口中有非抽象的方法,但需要使用default关键字修饰; 3 内部类基本概念: -当一个类的定义放在另外一个类的类体内部时...-类体中的内容:成员变量、成员方法、构造方法、静态成员、构造块和静态代码块、内部类....基本分类: 普通内部类 - 直接将一个类的定义放到另外一个类的类体中。 静态内部类 - 使用static关键字修饰的内部类。 ------------ 只有内部类才可以使用static关键字修饰。...; b.使用匿名内部类的语法格式得到接口的引用作为实参传递;

    12820

    【小家java】静态类、静态方法、内部类、匿名内部类、非静态类的一些实践

    但如果这个类是内部类,是可以这样写的:public static class A 静态内部类的作用:只是为了降低包的深度,方便类的使用,实现高内聚。...静态内部类适用于不依赖于外部类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。...非静态内部类有一个很大的优点:可以自由使用外部类的所有变量和方法,对其外部类有个引用 有了这两个区别,各位看官应该知道什么时候使用什么样的类了吧 下面是静态方法和非静态方法的区别: 静态方法(Static...3、使用场景 内部类和静态内部类的区别 静态类 只能在内部类中定义静态类 静态内部类不依赖于外部类,即使外部类没有创建对象,静态类也可以new对象 静态类的方法可以是静态的方法也可以是非静态的方法,静态的方法可以在外层通过静态类调用...我们会发现java的设计者在设计内部类的时候用心良苦,学会使用内部类,是掌握java高级编程的一部分,它可以让你更优雅的设计你的程序结构。

    3.1K30

    Java的内部类和匿名类 , 您了解过吗?

    最初在大二入门Java的时候,我就了解过Java的匿名类和内部类,那时候觉得这些都是理论性的东西,实际开发不一定能用到,于是就淡化了。...可以说,上面这段程序才是真正意义上的Java实体类Bean。 ---- 二、内部类 我的理解:内部类就是类中类,依附于普通类中,可以间接实现Java类的多继承。...如果某个类加了static关键字,则直接可以使用类名直接访问。...; } } 运行结果如下图所示,即效果同第三小节的方法内部类。 匿名内部类是一种特殊的内部类,这种类没有名字,通过new关键字直接创建某一个类的匿名子类的对象来使用。...但是需要注意:匿名内部类不能定义构造方法,并且功能上会受到很大的限制,如果不是很有必要,尽量不要去使用。 ---- 三、总结 以上就是Java四种内部类的常见用法。

    28820

    基础篇:JAVA内部类的使用介绍

    1 四种内部类 成员内部类 静态内部类 局部内部类 匿名内部类 2 内部类的使用场景和优点 内部类的优点:每个内部类都能独立地继承一个类(实现多个接口),无论外部类是否已经继承或者实现,对于内部类都没有影响...内部类的存在使得Java的多继承机制变得更加完善 在开发设计中会存在一些使用接口很难解决的问题,而类却只能继承一个父类。这个时候可以利用内部类去继承其他父类,及implements多个接口能力来解决。...public class OutClass{ class InnerClass{} } 编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面是 OutClass.java 的代码...,静态内部类和非静态内部类之间存在一个最大的区别;非静态内部类在编译完成之后会隐含的保存着一个引用,该引用是指向创建它的外围类,但是静态类没有 静态内部类的创建不需要依赖外部类可以直接创建 静态内部类不可以使用任何外部类的非...参考文章 Java 内部类详解 java提高篇(八)----详解内部类 Java内部类的定义

    52110

    java内部类深入详解 内部类的分类 特点 定义方式 使用

    本文关键词: java内部类 内部类的分类 特点  定义方式 使用   外部类调用内部类 多层嵌套内部类  内部类访问外部类属性  接口中的内部类  内部类的继承  内部类的覆盖  局部内部类 成员内部类...普通的类(外部类)只能用public修饰符修饰,或者不写修饰符 使用默认的,但是内部类可以使用private 与protected 内部类可以达到类似"多重继承"的效果, 每个内部类都能独立的继承自一个...() //....... } 表示创建一个类的对象,这个类是xxxClass  子类或者实现了xxxInterface 接口的类 也可以说匿名内部类就是创建了一个匿名类的子类对象 构造方法名字和类名是相同的...,内部类没有更新重写增加任何的方法 设置了一个初始化块  {}  ,初始化块会在每个对象构造的时候执行 代码块中调用add方法增加对象 静态内部类 如果使用内部类只是为了将一个类隐藏到一个类的内部 并不需要内部类引用外部类的对象...的 因为类是static,只是将嵌套类置于接口的命名空间内,并不违反接口的规则 你甚至可以接口中的内部类实现外部接口 如果你想要创建某些公共代码,使得他们可以被某个接口的所有不同实现所共用 那么使用接口内部的嵌套类会显得很方便

    49110

    【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)

    想要弄明白这个,我就得先了解一下类的生命周期了。我们通过主方法运行Java程序,而这个主方法中创建了i对象并且属于InitializeDemo 类,所以在main方法执行时会将我们的类进行初始化。...在我们的类第一次进行初始化的时候,我们类中的静态块和静态属性会被优先构建。之后才轮得到非静态块和非静态属性。...类的一个对象进行初始化,按照代码顺序从上往下先构建静态的属性、方法和静态块,之后在构建非静态块和非静态属性。...我给大家讲一下初始化的顺序大家就明白了,这里用一张图来表示。 对应着上边的图,是不是一看就有点思路了呢?...如果你可以完整的走出以上的输出顺序,你就可以把t1和t2对象加上去了,不过不要被输出顺序所迷惑,就比如说,你可能会看到父类静态块和属性初始化完成后,初始化的不是子类的静态块和静态属性,而是父类的非静态块和非静态属性

    40410

    Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字

    Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制   首先包其实就是个文件夹.作用就是管理类.....*; 表示导入这个包中所有的类. ? 注意:如果你有两个相同类.你要使用那个类.就要加上完整的类名去使用....在java中.类中可以使用内部类.意思就是在一个类中还可以定义一个类. 1.成员内部类    成员内部类就是定义一个成员.这个成员就是一个内部类....但是内部类可以访问当前代码块的常量以及外部类的所有成员....final 跟 static一起使用 final 修饰常量.可以被随机数修改值.也就是初始化的时候. 但是加上static则内存是一块不能改变的.

    60430

    JAVA|Java的Scanner类初级使用

    1 Scanner的使用 JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致。...方法基本如下: 1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,Scanner导包语句便为import java.util.Scanner对于和当前类属于同一个包的时候...,导包语句可以不写,JDK里提供的类仅仅只有java.lang下的类不需要导包。...根据对象名来使用成员变量和成员方法,next是获得从键盘上输入的数据,String str = sc.next()就是把键盘输入的数据存到变量里面去,我们从键盘输入的数据的类型默认为字符串,想要得到其他类型的数据...3 写在最后 Scanner远远不止这么简单,这只是最基础的运用,接下来笔者会给大家更多相关知识,想更通俗的了解更多java基础知识,请大家持续关注我们的微信公众号。

    67020
    领券