博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中常用的类及其特点
阅读量:6328 次
发布时间:2019-06-22

本文共 1638 字,大约阅读时间需要 5 分钟。

Java中的内部类有四种(内部类作用1.封装装类型。 2.直接访问外部类成员。 3.回调。)内部类,方便他们的外部类调用,一般不会被其它类使用,比如事件监听器之类的,外部类刚好继承了一个别的类,如果你还要使用其它类,就可以在内部继承一个类。:

    1、 静态类:static、inner、class(also called nested class)

       最简单的内部类形式。

  类定义时加上static关键字。
  不能和外部类有相同的名字。
  被编译成一个完全独立的.,名称为OuterClass$InnerClass.class的形式。
  只可以访问外部类的和静态方法,包括了私有的和方法。
  生成静态内部类对象的方式为:
  OuterClass.InnerClass inner = new OuterClass.InnerClass();

 

     2、成员内部类:member、inner、class

       成员内部类也是定义在另一个类中,但是定义时不用static修饰。

  成员内部类和静态内部类可以类比为非静态的成员变量和静态的成员变量。
  成员内部类就像一个。
  它可以访问它的外部类的所有成员变量和方法,不管是静态的还是非静态的都可以。
  在外部类里面创建成员内部类的实例:
  this.new Innerclass();
  在外部类之外创建内部类的实例:
  (new Outerclass()).new Innerclass();
  在内部类里访问外部类的成员:
  Outerclass.this.member

     3、局部类:local、inner、class

      局部内部类定义在方法中,比方法的范围还小。是内部类中最少用到的一种类型。

  像局部变量一样,不能被public, protected, private和static修饰。
  只能访问方法中定义的final类型的局部变量。
  局部内部类在方法中定义,所以只能在方法中使用,即只能在方法当中生成局部内部类的实例并且调用其方法。

     4、匿名内部类:anonymous、inner、class

      匿名内部类就是没有名字的局部内部类,不使用关键字class, extends, implements, 没有构造方法。

  匿名内部类隐式地继承了一个父类或者实现了一个接口。
  匿名内部类使用得比较多,通常是作为一个方法参数。
  生成的.中,匿名类会生成OuterClass$1.,数字根据是第几个匿名类而类推。

 

     

 

1.  System类,可得到系统信息,经常用它来向屏幕以及控制台打印输出一些信息,如System.out.println(“hello world”);其中的out只是System类中的一个字段,也就是一个静态的成员变量,是一个对象的引用,即PrintStream,是标准的输出流,向标准的输出设备输出信息的,所以我们这里才调用了对象out的println()这个方法。Java中System这个类中的属性和方法都是静态的,可以通过类名可以直接调用,而且它位于java默认的包中包中,它还是一个final类型的修饰的类。所以类似与out字段的还有其他两个,如in是InputStream类的一个对象,那么in则是一个标准的输入对象,他可以读取或则也可以说从键盘或则其他输入设备接收或者读入一个信息,那么err也是PrintStream类的一个对象,则是标准的错误输出流,那其实这些所谓的标准的输入输出,他们功能实现底层是靠C语言和设备直接沟通的,java只是依赖C语言完成了这些功能。 

2.  String类, 字符串类,String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了(详看笔记部分解析)。如果需要对字符串做很多修改,那么应该选择使用 。

 

转载于:https://www.cnblogs.com/jaffee-L/p/9717245.html

你可能感兴趣的文章
json对象的操作,json工具
查看>>
jmeter --- 测试计划里的元件
查看>>
网络编程TCP总结及实践-C语言
查看>>
[LeetCode] Combine Two Tables 联合两表
查看>>
vc维的解释
查看>>
产品需求文档(PRD)的写作方法之笔记一
查看>>
[android] WebView与Js交互
查看>>
C++ new的nothrow关键字和new_handler用法
查看>>
java lambda表达式学习笔记
查看>>
Linux挂载命令mount用法及参数详解
查看>>
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs...
查看>>
HtmlAgilityPack使用
查看>>
详解 Spotlight on MySQL监控MySQL服务器
查看>>
修改MySQL自动递增值
查看>>
2016年8月编程语言排行榜
查看>>
vs vim 插件
查看>>
leetcode409
查看>>
thinkphp并发 阻塞模式与非阻塞模式
查看>>
SQL SERVER 2005 进行XML查询
查看>>
oracle存储过程
查看>>