复习(java):语法:面向对象_2
2016-07-06 10:02
344 查看
1. java8的增强类型
int——Integerchar—-Character
其他类型都是第一个字母大写
Integer obj=5; int it=obj;
字符串和基本变量的转换
String intstr="123"; int it1=Integer.pasrseInt(intStr); int it2=new Integer(intStr);
String s=String.valueof(2.3); //数值转换为字符串
2.处理对象
打印对象
class Person{ ...... } public clas PrintObject{ public static void main(String[] args){ Person p=new Person("孙悟空"); System.out.println(p); } } // Person@15db9742 // 类名@hashCode
toString(所有的Object对象都有的属性)
==和equals方法
== 比较若是基本变量,直接判断是否相对
若是引用对象,,只有他们指向同一个对象才相等
==不可以比较类型上没有父子关系的两个对象
equals
也需要引用变量指向同一个对象,才返回true
和==在使用上无区别
实际中需要重写
class person{ private String name; private String idStr; public Person(String name,String idStr){ this.name = name; this.idStr=idStr; } // 重写equals public boolean equals(Object obj){ //两个对象为同一个对象 if(this==obj) return true; //只有obj是Person对象 if(obj!=null && obj.getClass()==Person.class){ Person personobj=(Person)obj //并且当前对象的idStr与obj的idStr相等时才可以判断 if(this.getIdStr().equals(personobj.getIdStr())) return false; } } }
“hello”和 “new String(“hello”)”的区别
hello:使用常量池
new String(“hello”):产生两个字符串对象:a.常量池;b.堆上
3.类成员
单例类
单例类:类始终只能创建一个实例private修饰构造器
static修饰方法
class Singleton{ //使用一个类变量来缓存曾经创建的实例 private static Singleton instance; //构造函数添加private private Singleton(){} //静态方法用于返回自定义控制,且保证只产生一个Singleton public static Singleton getInstance(){ if(instance==null) instance = new Singleton(); return instance; } }
4. final
表示修饰的类,方法,变量不可变final方法不可以重写:不希望子类重写父类的方法
不可变类:创建该类的实例后,实例的变量不可以改变
8个包装类String类是不可变类
1、所有成员变量都是PRIVATE;
2、不提供成员的SET方法;
3、确保所有方法不被重载,FINAL CLASS(强不可变类);所有的方法上面加上FINAL(弱不可变类);
4、如果有必要,重写Object类的hashCode()和equals()
final修饰,表示引用类型变量不可以重新赋值,但是内容是可以改变的
5. 缓冲实例的不可变量
程序需要使用相同的不可变量,则可以将不可变量缓冲6.抽象类
abstract抽象类不可以实例化,用于被子类调用
抽象方法需要在方法上加abstract
抽象方法:在类中没有方法体的方法,就是抽象方法。 抽象类:含有抽象方法的类就叫抽象类。 抽象类中的抽象方法必须被实现! 如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类! 抽象类中的普通方法,可以不必实现。
作用
1 。抽象类只可以当作父类来继承7 接口
接口只能包括抽象的方法implements
接口和抽象类的区别
8. 面向接口的编程
9. 内部类
放在另一个类的内部定义10. 对象和垃圾回收(参看jvm)
相关文章推荐
- 多线程经典之生产者与消费者
- 安装myeclipse之前jdk的安装及配置(附:jre)
- 深入分析JavaWeb servletConfig 与servletContext
- java实现Huffman树
- RxJava 驯服数据流之高级错误处理
- Java8新特性之一、时间日期API
- Spring Boot学习总结(2)——Spring Boot整合Jsp
- Spring Boot学习总结(2)——Spring Boot整合Jsp
- Java web中上传文件
- annotation-config vs component-scan – Spring Core--转
- java生成复杂word文档的完美解决方案
- java支付宝支付
- Spring Boot学习总结(1)——Spring Boot入门
- Spring Boot学习总结(1)——Spring Boot入门
- Spring Boot学习总结(1)——Spring Boot入门
- Struts2+Hibernate3+Spring3 整合
- JAVA实现文件自动重命名
- JavaWeb总结--Servlet 工作原理解析
- spring mvc中log4j的配置与使用
- spring(错误二) Error creating bean with name 'xxxx'