记忆总结——java面向对象部分的知识

来源:互联网 发布:广电网络施工资质条件 编辑:程序博客网 时间:2024/05/17 07:47
java面向对象部分的知识:


1,局部变量和方法在栈中声明引用分配,对象在堆中分配
2,尽量一个class类写在一个java中,不要把多个类写到一个.java文件中
3,对于一个整数求整与求余,不止是对用10,还可以用100,比如1234除100,得整12,得余34
4,this指的是类中的变量,而方法内部的变量,两者之间(调用方法的位置)this.x=x(传进的值),而用这个this的时候是不能用在static方法内
5,构造函数可以有多个,即是构造方法的重载,但要有不同的参数,构造函数不会被继承,也不会被重写。重写方法需要名字相  同,参数列表相同,构造器不能声明返回值类型,也不能有void
  调用父类中的构造方法,需要用super(r)
6,object类,java类继承了object的所有属性和方法,如tostring(),hashcode,equals()
 其中比较引用是否相等用==,而比较对象内容是否相当用xxx.equals(),建议覆盖,实现对象的比较,也就是对象数据的 比较,覆盖规则:自反性,对称性,传递性,一致性;
 hashcode()方法要与equals方法一同覆盖,当两个对象equals为真时应具有相同的hashcode值,为假时应具有不同的 hashcode值,且要具有稳定性。
 默认的hashcode值是当前堆对象地址转换的一个整数,这个整数不是内存地址
 一般使用对象的OID值作为HASHCODE的值。,在项目中一般用数据库生成OID,也就是数据库中的主键


 instanceof检查对象是否是card类型。
7,方法调用原则是:就近。方法签名是方法名+参数列表。这两项是调用方法所要参照的2 点
8,变量的值:基本类型的值是其本身,引用变量的值是一个地址值,是被引用对象的首地址,为了避免引用参数传递的副作用,建议一切结果由返回值带回
9,子类构造器一定调用父类构造器,类一定有构造器


10,如果父类没有无参数构造器,就必须在子类中明确指定调用父类的有参数构造器。也就是说要传进去参数。比如:super(2).调用的父类构造器Go(int a){this.a=a;}


11,default,类内,同包下能访问,不同包的不能访问


12,java中继承的语法现象,父类型变量可以引用子类型的实例,父类型的实现是多态的,引用的变量类型会自动转换
  子类可以覆盖父类的方法,修改父类的行为。
  子类覆盖了父类相同方法签名的方法。
  方法的覆盖是由方法动态绑定实现的,java最终执行子类的方法
13,向下转型,从小类型到大类型的转换,向上造型,是从大类型到小类型,instanceof运算符用来检查引用对象的类型,常
   与引用类型强制转换配合,实现安全的类型转换。
14,javabean规范:它不是语法规范,而是习惯性编程规范。
   比如:必须有包;java类具有无参数构造器;有用getxxx() setxxx()声明的bean属性
      boolean类型的get方法有两种形式,getMarried()或者isMarried()
          必须实现序列化接口。
   最大好处是使用方便。
15,static int i;共用的,int i;实例的,在内存堆中分配对象空间,属性默认自动初始化,为0
   静态方法不能访问属于对象的资源(对象属性与方法)
16,string math,integer,long,character等包装类不能被继承,final修饰的变量初始化后不能再修改
0 0
原创粉丝点击