发表于: 2017-10-12 20:40:59

1 679


今日完成的事情:

学习语法

this关键字代表当前类的对象(引用,相当于实例化,但不是实例化this.属性操作当前类的对象的属性this.方法调用当前类的对象的方法,这个很好理解,就不多说了。

 

内部类;定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。简单说就是提供了更好的封装,隐藏在外部类之内,不允许同一个包中的其他类访问该类(成员内部类,静态内部类,方法内部类,匿名内部类)

成员内部类;要使用内部类的方法时,首先创建了一个外部类对象,在创建内部类对象时,通过外部类对象.new 内部类()的形式。可以理解为:要使用内部类的方法,首先需要将外部类实例化为一个对象,然后通过外部类的对象对内部类进行实例化,最后再调用内部类的方法。就好比文件系统,你要找一个文件,首先需要知道它在哪个盘,然后再找对应的文件夹。

第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class,好奇在命令行跑了一下,先是乱码

转一下格式之后,通过编辑了,但是命令行仍然不能运行

一直以为是我Java出问题了,因为下午无聊的时候手残,改了一下电脑用户类型,结果好多程序当场崩溃。。。。idea也没幸免于难。。。一直说jvm出问题,测试一下java环境是好的,这就不提了,接着说无法加载,以为是Java有问题,但是验证OK,就又找了一个helloworld试试,这下感觉是Java了,不过我又忍不住自己写一个helloworld,发现竟然没有任何问题,我就蒙了。。。

最后对比发下。。。原来是之前的两个Java都有包名,因为是想直接跑的,所以直接复制。。。删除包名就OK了,和idea一样了;本来还以为两个类,命令行会报错。。。结果我想多了。。幸好没有重新装Java不然所有程序都要完蛋。。。

 

继续说内部类,内部可以访问外部,但是外部内部的变量一样时,就会只访问自己的,可以通过this来访问外部和自己一样的变量。

静态内部类是 static 修饰的内部类,静态基本上与之前类似吧,比如说不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问,也有一个好处就是 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。


继承,之前说过概念了,直接说一下好处吧,就是减少代码的重复,增加代码的复用

子类可以直接继承父类的属性方法

快捷键很方便

 

生成的子类,空壳,但是测试类可以直接调用

父类的私有属性,子类不可以使用的

 然后就是方法重写,继承的父类方法不满意,则自己写会被优先调用


这里有一个顺序,也就是先执行父类属性,然后是构造方法,接着是子类的属性,构造方法

明日计划的事情:

调整好状态,结束语法基础,进入任务一。。。。


遇到的问题及解决方法:

这几天事多,没深入学习,问题不大。


收获:

Java的方法继承概念

 

 

 



返回列表 返回列表
评论

    分享到