美文网首页
在你的女票面前 你没有private属性

在你的女票面前 你没有private属性

作者: 码思客 | 来源:发表于2018-10-17 09:50 被阅读0次

java零基础入门-面向对象篇(十五)  内部类

内部类经常用在编写图形界面,比如swing和安卓的程序,所以在我们通常的web程序中使用较少,但是我们还是有必要来认识一下他。

内部类,顾名思义,就是定义来类内部的类。

内部类有以下几种,成员内部类,局部内部类,匿名内部类,静态内部类,下面一个个来介绍他们。

成员内部类

名字起得很好,看名字就知道是干啥的。成员内部类就是将内部类作为一个外部类的成员,地位跟变量,方法一样。

内部类一个很大的特点就是,就算我在外部类定义了一个私有变量,外部无法访问,但是内部类依然可以访问。

就好像你的微信信息和银卡密码对外人来说是绝对保密的,但是对你的女票来说就完全是另外一回事了。

你的女票可以随时随地的访问你的手机,看看微信里面有些啥消息,看看聊天记录,短信记录等等。如果零花钱不够了,还可以直接用你的手机给他的微信发红包,这操作是不是有一种很熟悉的感觉。

内部类

来看一下内部类的一些特点

1.内部类的实例化与普通类的实例化有区别,因为内部类是外部类的成员,所以使用 外部类 . 内部类 的方法表示要实例化的内部类。使用外部类对象 . new 来表示new关键字来表示要创建内部类对象。

2.当内部类属性和外部类属性相同的时候,要在内部类调用外部类的同名属性,需要使用 外部类 . this 表示外部类的this,然后用外部类的this来调用外部类的属性。

3.内部类和外部类还有一个比较有意思的特点,那就是,内部类可以直接访问外部类的属性,而外部类需要通过内部类的对象来调用内部类属性,而不能直接访问。

这个特点是不是理解起来比较麻烦?那么这样理解吧,你女票想要看你的微信随时可以看,而你要看你女票的微信需要你女票同意才行。感觉这个内部类设计的好人性化。

看私房钱

看到了没有,内部类是可以直接引用到外部类的成员变量的,就算他是私有的。而外部类想要访问到内部类的成员变量,直接引用会报错,需要先将内部类实例化,再用实例去引用。

理解到这里就差不多了,我们看下一个。

局部内部类

名字依然很好,局部内部类跟局部变量很相似,一般定义在方法里面,而且只能在方法内部使用。出了方法,方法内的变量就没法使用了,局部内部类也一样,在方法外不可以调用。

局部内部类

局部内部类有点像一次性使用的类,因为如果需要公用和重复调用,最好设计成外部类,而局部内部类只在方法内可以使用,方法调用完了,局部内部类也就没作用了。

这里要注意的是,局部内部类前面没有加 public,其实不仅仅是public ,所有的访问权限修饰符都不能加,因为没有意义。局部内部类只在方法中有效,所以开发访问权限没有意义。

总之记住一点,怎么使用局部变量,就怎么使用局部内部类。

匿名内部类

局部类有点一次性使用的内部类,其实还有一种就是一次性使用的内部类,那就是匿名内部类。

匿名内部类的使用有个前提,要么继承一个父类,要么实现一个接口。

匿名内部类的使用情况就是只用一次的实现类或者只用一次的子类,有了匿名内部类就不用再去定义一个子类或者实现类。

匿名内部类

首先有一个人的类,有一个花钱的方法,我们不能直接去实现他,如果直接实现它,然后在实现类里面写了花私房钱的方法,就会留下证据。所以我们要想一个方法一次性的实现花私房钱的方法。

前面讲接口的时候说过,接口是不能实例化的,所以不能使用new关键字,但是这里如果使用了匿名内部类,可以在new关键字后面跟上接口名,因为在后面写的是匿名内部类,他实现了接口。所以看上去好像是实例化了接口,实际上是创建了一个实现类去实现了接口并且实例化了一个对象。

如果Person是父类,不是接口,匿名内部类也可以使用,方法类似,因为继承和接口都是实现多态的一种方式,所以匿名内部类的使用也相似。

静态内部类

程序开发中基本用不上。知道有这货就行了。

关于内部类大致了解到这个程度就可以了。

本章是面向对象篇的最后一章。

从下一章开始我会开始介绍更多的java特性,将面向对象的基础打好很重要,后面很多的高级特性和一些工具都是以面向对象为基础的。

后面章节的难度会明显的加大,但是我当然有办法能够让你轻松的学会,所以赶紧点个关注吧。

相关文章

  • 在你的女票面前 你没有private属性

    java零基础入门-面向对象篇(十五) 内部类 内部类经常用在编写图形界面,比如swing和安卓的程序,所以在我们...

  • 天气渐冷,送什么给另一半最能撩动TA心

    天冷了,怎么办? 有男票的抱男票,有女票的搂女票 没有男票女票的 请自行穿衣、穿秋裤 男票女票要提醒 自己的女票男...

  • AbstractQueuedSynchronizer 学习

    1 概述 2 主要的属性 private transient volatile Node head;private...

  • 2015.11.29

    今天在路上看到你和你女票辣。 不过你扭过头去了,你女票也奇怪的盯着我看,希望没有对你造成什么不便。 室友说你老远就...

  • 等你仰望

    当我站在你面前 你抬头,你眼睛里不再飘着迷雾。 当我坐在你面前 你跪下,你的全身变得呼吸自如。 当我躺在你面前 你...

  • 对女人的态度

    对于女人:一是敢看敢想象女人光着身体站在你面前;二是敢看敢想象女人在你面前微笑,并讨好你,和你做爱,而你并不迷恋女...

  • 教你如何识别女朋友是否在生气以及如何预防和应对

    你生气了吗?没有!你怎么了?没事! 相信很多男孩子在跟女票相处的时候,多多少少都会遇到这样的情况,就感觉女票突然就...

  • public、protected、private属性

    注意:设置了访问的修饰符后,类继承时总是保持一种“是一”的关系。因此,如果一个父类把一个成员变量声明成为公共的成员...

  • java三大特征:继承、多态、封装

    封装 java中类的属性的访问权限默认值不是private,要想隐藏该属性的方法,就可以加private修饰符,来...

  • 在你面前

    除了丁丁我别的什么都不敢硬

网友评论

      本文标题:在你的女票面前 你没有private属性

      本文链接:https://www.haomeiwen.com/subject/acvqzftx.html