黑马程序员Java培训和Android培训:面向对象

来源:互联网 发布:淘宝童模招聘 编辑:程序博客网 时间:2024/04/29 03:01

  1.面向对象的三大特征: 封装(Encapsulation),继承(inheritance),多态(Polymorphism)

        封装是指隐藏对象的属性和实现细节,仅仅对外公开接口。

2.this 的作用,个人认为this相当于一个针,可以指示函数,变量

3.使用final修饰的变量,也可以称为常量,一但被赋值,那么就不能改变其值.

4. == equals()的区别  相同的数据类型

 == 不仅仅需要比较的2个成员之间的 值是相等的  而且还需要比较2个的物理地址是否一样

比较两个数组对象的内容是否相等,使用Arrays.equals(int[],int[])方法

equals()比较2个值是否相等  返回值为true和false

以下程序可以说明:

package Test;
public class Test1{

 public static void main(String[] args)
 {
 String s1=new String("luokan");
 String s2=new String("luokan");
 String s3=s1;
 System.out.println("第一次比较");
 if(s1==s2)
  System.out.println("s1=s2");
 else
  System.out.println("s1!=s2");
 System.out.println("第二次比较");
 if(s1.equals(s2))
  System.out.println("s1=s2");
 else
  System.out.println("s1!=s2");
 System.out.println("第三次比较");
 if(s2==s3)
  System.out.println("s3=s2");
 else
  System.out.println("s3!=s2");
 }
}

 

运行结果:第一次比较
s1!=s2
第二次比较
s1=s2
第三次比较
s3!=s2

5垃圾回收过程分析 :finalize() 方法  System.gc的作用

gc 是garbge collect的简写   java系统会自动调用gc的功能

 

6.static 静态变量,如果一个变量是静态变量的话,那么在其他类之外用到这个静态变量就不需要再去实例一个类的对象来引用这个静态变量,而是可以直接引用这个静态变量

7.可变参数,可变参数只能出现在参数列表最后;...位于变量类型和变量名之间,当要调用可变参数时,系统会为可变参数创建一个数组,方法体中会以数组的形式访问可变参数

 

 public static void main(String[] args)
 {
  int m=add(1,2,3,4,5,6,7,8,9,0);
  System.out.println(m);
 }
 
 public static int add(int x,int...args)
 {
  int sum=0;
  for(int i=0;i<args.length;i++)
  {
   sum+=args[i];
  }
  return sum;
 }
 
}

 

8.overload 与 override的区别

override(重写)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。  
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中