JavaEE 基础

来源:互联网 发布:java urlencode转码 编辑:程序博客网 时间:2024/06/15 18:21

this

java关键字“this”只能用在方法方法体内。当一个对象创建之后,java虚拟机就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。只能在非静态方法中使用

final

final可以修饰类,方法,属性,变量

final修饰类,则该类不允许被继承

final修饰方法,则该方法不允许被覆盖(重写)

final修饰属性,则该属性不会被隐式的初始化(类的初始化属性必须有值)1.要么在定义时直接给其赋值  2.要么在构造法方法中赋值 二者只能选其一

public class final1 {//在这里必须赋值或者在构造方法中赋值   final private  int a;   public final1(){  //不能再被赋值的为常量   this.a=1;   }}

finally

是对异常处理模块的最佳补充,finally结构使代码总会执行而不管有没有异常,finally 可以维护对象的内部状态,并可以清理非内存资源

finalize

finalize是方法名,用于一些不容易控制,并且非常重要的资源的释放,程序员应该通过程序本身管理这些资源为主,使用finalize函数释放资源为辅,而不应该仅仅靠finalize释放资源

super

super.属性名  :调用的是父类的属性

super.方法名:调用的是父类的方法

1.子类的构造的过程当中必须调用其父类的构造方法2.如果子类的构造方法中没有显示调用父类的构造方法,则系统是默认调用父类无参的构造方法3.如果显示的调用构造方法,必须在子类的构造方法的第一行4.如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错

--------------------------------------------------------------------

java访问修饰符   本类   同包  子类   其他

private                                                +

默认                                                    +          +

protected                                           +          +         +

public                                                 +           +         +          +

Object类的常用方法

1、Object类是所有类的父类,如果一个类没有使用extends关键子明确标识继承另外一个类,那么这个类默认就是继承Object类2、Object类中所有的方法,适用于所有的子类一、toString()方法    在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串)可以通过重写toString()方法表示出对象的属性

二、equals()----返回值是布尔类型比较的是对象的引用是否指向同一块内存地址-------对象实例化时,即给对象分配内存空间使用方法如:dog.equals(dog2);如果是两个对象,但想判断两个对象的属性是否相同,则重写equals()方法1.地址是否相同----if (this == obj)2.对象是否为空----if (obj == null)3.getClass()可以得到类对象,判断类型是否一样-----if (getClass() != obj.getClass())new出来的是类的对象,关注的是类的属性的具体的数据;(年龄为多大,姓名是什么)类对象是类的代码信息,关注的是类有什么属性和方法:(年龄,姓名)4.属性值是否一样----if (age != other.age)equals()默认是Object的方法。比较的是两个对象的内存地址,即使是两个对象的值完全是一样的,他们这是存在两个完全不同的空间,这里指的是内存空间。如果重新equals方法的话,会显示以下的代码:public boolean equals(Object obj){  /*修饰符为公开,数据类型是判断真假值得布尔代数,方法名是equals,(Object obj)这个参值是Object类中的对象值,用来检测JAVA中对象用的*/if(this == obj)/*判断对象是一个对象,返回值是真*/return ture;if(obj == null)/*判断这个对象什么都没有,返回值是假*/return false;if(getClass() != obj.getClass())/*判断对象属性和对象属性的值不符合,返回值是假*/return false;类A other = (类A)obj;/*上述已经足够判断参值对象基本属性是否为一个类型,这里讲参值对象执行为一个类型*/if(变量名 != other.变量名)/*这里判断两个对象的某个变量中的值不相等,返回值是假*/return false;…………/*继续执行对比其他变量中的变量值是否不相等*/return true;/*返回值是真,判断两个对象为相等继而通过,否则就不相等*/