java笔记1
2015-09-30 10:15
225 查看
IDE Integrated Development Environment 集成开发环境
自动补全 Alt+/
sysout main 等等
java不允许多继承,每个类最多只有一个直接父类。
如果定义一个java类时未显示指定这个类的直接父类,则默认扩展java.lang.Object类,因此,java.lang.Object类是所有类的父类,要么是其直接父类,要么是其间接父类。
switch()语句后面的数据类型为byte、short、char、int四个整数类型和枚举类型
Java7增强了switch语句的功能 允许switch语句的控制表达式是java.lang.String类型的变量或表达式-不能是StringBuff或StringBuilder类型
在for循环里定义的变量,其作用域仅在该循环内有效,for循环终止以后,这些变量将不可访问。
Java允许对象的一个成员直接调用另一个成员,可以省略this前缀。
static修饰的方法中不能使用this引用,即static修饰的方法不能访问不使用static修饰的普通成员,因此:静态成员不能直接访问费静态成员。
Java里方法的参数传递方式只有一种:值传递。所谓值传递,就是将实际参数值的副本传入方法内,而参数本身不收任何影响。
变量的作用域范围扩大的害处:1增大了变量的生存时间,这将导致更大的内存开销。2扩大了变量的作用域,这不利于内存的内聚性。
在程序中使用局部变量,应尽可能地缩小局部变量的作用范围,局部变量的作用范围越小,它在内存里停留的时间就越短,程序运行性能就越好。
Java的包机制需要两个方面保证:1源文件里使用package语句指定包名;2class文件必须放在对应的路径下
this和super关键字对应实例方法 类名对应类方法
一旦程序员提供了自定义的构造器,系统就不再提供默认的构造器
对象的方法存在多态,但对象的Field不具备多态性。通过引用变量来访问其包含的实例Field时,系统总是试图访问它编译时类型所定义的Field,而不是他运行时类型所定义的Field。
引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法。因此,编写java代码时,引用变量只能调用声明该变量时所用类里包含的方法。
强制类型转换:基本类型之间的转换只能在数值类型之间进行,数值类型(整数型、字符型、浮点型)和布尔类型之间不能进行类型转换。
引用类型之间的转换只能在具有继承关系的两个类型之间进行,如果是两个没有任何继承关系的类型,则无法进行类型转换,否则会出现编译错误。如果试图把一个父类实例转换成子类类型,则这个对象必须实际上是子类实例才行(即编译时类型为父类类型,而运行时类型时子类类型),否则将在运行时引发ClassCastException异常。
对于两个引用类型的变量,它们必须指向同一个对象时,==判断才会才会true。==不可用于比较类型上没有父子关系的两个对象。
Object默认提供的equals()只是比较对象的地址,即Object类的equals方法比较的结果与==运算符比较的结果完全相同。因此,在实际应用中常常需要重写equals方法。
String已经重写了Object的equals()方法,String的equals()判断两个字符串相等的标准是:只要两个字符串所包含的字符序列相同,通过equals()比较将返回true,否则将返回false。
final修饰的方法不可被重写,如果不希望子类重写父类某个方法,则可以使用final修饰该方法。
final修饰的类不可以有子类。
抽象方法使用abstract来修饰,抽象方法不能有方法体。
抽象类使用abstract来修饰,抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。
抽象类可以包含Field、方法、构造器、初始化块、内部类、枚举类6种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。
自动补全 Alt+/
sysout main 等等
java不允许多继承,每个类最多只有一个直接父类。
如果定义一个java类时未显示指定这个类的直接父类,则默认扩展java.lang.Object类,因此,java.lang.Object类是所有类的父类,要么是其直接父类,要么是其间接父类。
switch()语句后面的数据类型为byte、short、char、int四个整数类型和枚举类型
Java7增强了switch语句的功能 允许switch语句的控制表达式是java.lang.String类型的变量或表达式-不能是StringBuff或StringBuilder类型
在for循环里定义的变量,其作用域仅在该循环内有效,for循环终止以后,这些变量将不可访问。
Java允许对象的一个成员直接调用另一个成员,可以省略this前缀。
static修饰的方法中不能使用this引用,即static修饰的方法不能访问不使用static修饰的普通成员,因此:静态成员不能直接访问费静态成员。
Java里方法的参数传递方式只有一种:值传递。所谓值传递,就是将实际参数值的副本传入方法内,而参数本身不收任何影响。
变量的作用域范围扩大的害处:1增大了变量的生存时间,这将导致更大的内存开销。2扩大了变量的作用域,这不利于内存的内聚性。
在程序中使用局部变量,应尽可能地缩小局部变量的作用范围,局部变量的作用范围越小,它在内存里停留的时间就越短,程序运行性能就越好。
Java的包机制需要两个方面保证:1源文件里使用package语句指定包名;2class文件必须放在对应的路径下
this和super关键字对应实例方法 类名对应类方法
一旦程序员提供了自定义的构造器,系统就不再提供默认的构造器
对象的方法存在多态,但对象的Field不具备多态性。通过引用变量来访问其包含的实例Field时,系统总是试图访问它编译时类型所定义的Field,而不是他运行时类型所定义的Field。
引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法。因此,编写java代码时,引用变量只能调用声明该变量时所用类里包含的方法。
强制类型转换:基本类型之间的转换只能在数值类型之间进行,数值类型(整数型、字符型、浮点型)和布尔类型之间不能进行类型转换。
引用类型之间的转换只能在具有继承关系的两个类型之间进行,如果是两个没有任何继承关系的类型,则无法进行类型转换,否则会出现编译错误。如果试图把一个父类实例转换成子类类型,则这个对象必须实际上是子类实例才行(即编译时类型为父类类型,而运行时类型时子类类型),否则将在运行时引发ClassCastException异常。
对于两个引用类型的变量,它们必须指向同一个对象时,==判断才会才会true。==不可用于比较类型上没有父子关系的两个对象。
Object默认提供的equals()只是比较对象的地址,即Object类的equals方法比较的结果与==运算符比较的结果完全相同。因此,在实际应用中常常需要重写equals方法。
String已经重写了Object的equals()方法,String的equals()判断两个字符串相等的标准是:只要两个字符串所包含的字符序列相同,通过equals()比较将返回true,否则将返回false。
final修饰的方法不可被重写,如果不希望子类重写父类某个方法,则可以使用final修饰该方法。
final修饰的类不可以有子类。
抽象方法使用abstract来修饰,抽象方法不能有方法体。
抽象类使用abstract来修饰,抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。
抽象类可以包含Field、方法、构造器、初始化块、内部类、枚举类6种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。
相关文章推荐
- Java四种线程池的使用
- Quartz使用-入门使用(java定时任务实现)
- eclipse 上传项目到git.oschina总结
- test9.5
- 开发 Eclipse 插件的最佳实践
- 最短编辑距离
- 趣味理解java中的访问权限修饰符。
- java(2)--匿名内部类
- Java中的Atomic包使用指南
- java代理
- Java Bean 属性命名规范问题分析
- java类和对象实例分析
- java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
- Java基础知识之泛型全接触
- HBase java关键API
- StrutsPrepareFilter和StrutsExecuteFilter拦截
- spring中Bean的作用域
- 【SSH快速进阶】——Hibernate环境搭建
- java异常整理
- 利用Spring.NET实现WCF的AOP编程