Java基础知识(3)
来源:互联网 发布:西安电子科技大学网络教育 编辑:程序博客网 时间:2024/06/09 02:15
写日志一是想巩固知识,二是想把自己常忘记的不懂的在弄懂。
1 toString
将对象转为字符串形式, 这个方法是在Object类中定义的, 默认转为"类名@地址", 如果不想转为这种形式, 可以重写这个方法.在使用System.out.println()和System.out.print()方法打印一个对象的时候, 默认会调用对象的toString()方法
2组合设计模式
2.1.什么时候用组合设计模式
当一个类中使用另一个类的方法时, 就可以使用组合
2.2.怎么写组合设计模式
定义一个要组合的类类型的成员变量
通过构造函数接收一个该类的对象
在需要使用该类方法的时候,通过成员变量来调用
如:
Class Preson{
Private Card card;
Public person(Card card){
This.card=card;
}
。。。。。。。
}
创建对象时传入参数就OK
2.3.组合设计模式和继承的区别
组合设计模式不占用继承位置(没有明显继承关系)
继承时子类可以当作父类来用(可根据不同的对象进行调用)
3.类中的内部类
3.1.什么是内部类
在类中定义的类就是内部类,内部类是外部类的一个成员, 必须创建外部类对象才能使用.
内部类名为"外部类名.内部类名"
3.2.创建内部类对象
Outerouter = new Outer(); Outer.Inner inner= outer.new Inner();
3.3.内部类的使用
当我们定义一个类的时候, 希望别人在创建这个类对象之前先创建另一个类的对象, 就可以把这个类定义到指定类的内部.
如果我们希望定义的类能访问另一个类的成员, 就可以定义一个指定类的内部类.
在内部类中使用"外部类名.this.成员名"形式可以访问外部类的成员
注意: 外部类中不能访问内部类成员
3.4.不能定义静态成员
因为静态本意就是不创建对象可以直接使用, 而内部类需要创建外部类对象才能用. 矛盾
4.方法中的内部类
4.1.什么是方法中的内部类
一个类如果只在某个方法中使用, 那么就可以定义为方法中的内部类
4.2.方法中的内部类的使用
在方法中直接使用类名创建对象, 例如: Inner inner = new Inner();
创建对象的代码必须在声明类的代码下面.
在方法中的内部类也可以访问外部类中的成员, 和类中的内部类一样, 都是使用"外部类名.this.成员名"
4.3.访问局部变量问题
在方法中的内部类中访问方法中的局部变量时, 这个变量必须是final的
因为局部变量在方法运行结束之后生命周期就结束了, 而内部类对象的生命周期还有可能没结束, 为了能访问到这个变量, 需要加上final.
例如,方法中返回内部类,内部类还活着所以应该加上final
5.匿名内部类
5.1.什么是匿名内部类
如果一个类只使用一次, 那么就可以定义为匿名内部类.
定义方式: new 父类名(){类定义}.
这样做声明了一个指定类的子类, 然后用这个类创建了一个对象
匿名内部类也是方法中内部类的一种, 访问局部变量, 需要final
- Java基础知识(3)
- Java基础知识(3)
- java基础知识回顾(3)
- java基础知识整理(3)
- Java的基础知识(3)
- JAVA相关基础知识总结(连载)-3
- Java基础知识(3): Swing编程
- 黑马程序员----------java基础知识(3)
- Java基础知识之面向对象(3)
- JAVA相关基础知识(3)
- JAVA相关基础知识(3)
- JAVA基础知识(3)
- JAVA相关基础知识(3)
- java基础知识-3
- java基础知识总结(3)
- JAVA基础知识3
- JAVA 一些基础知识3
- JAVA基础知识复习3
- 61条面向对象设计的经验原则
- 黑马程序员—黑马毕业学员发来的一封感谢信!
- try-catch-finally和return结合时运行的次序
- 黑马程序员—感谢所有改变我人生命运的老师们,谢谢你们!!!
- [LeetCode] Search in Rotated Sorted Array II
- Java基础知识(3)
- Delphi 7 + GDIPlus 简单实现双缓冲绘制移动图形
- 黑马程序员—从一个没接触过编程的人,到税后7k,thanks for itheima !!!
- List 的subList()方法使用注意事项
- python try except else finally 执行顺序详细分析
- iOS 开发:用 Instruments 来检验你的app
- 黑马程序员—【第11期】 再不疯狂,我们就老了!
- 慕课网:2-1.#id 选择器(使用身份证号来找人)
- Evernoote 印象笔记中代码语法高亮