对象 类

1、什么是对象?什么是类?类和对象有什么关系?

答:

    对象:对象是存在的具体实体,且有明确的定义的特征和行为。

    类:  类是具有相同属性和行为的一组对象的集合。

    类和对象的关系: 类是对象的抽象,对象是类的实例。

2、属性如何创建?属性有什么特点?属性如何访问?

    属性如何创建: 

    属性有什么特点:对象之间属性彼此独立,一个对象属性的变化不会影响其他属性变化,由于属性是属于一个对象的组成部分,所以属性也叫成员变量。

    属性如何访问:  属性只能通过对象.的方式访问。

3、静态变量如何创建?静态变量有什么特点?静态变如何访问?

    静态变量如何创建: 

    静态变量有什么特点:静态变量创建在一个对象之外,是所有对象共享的变量,也就是说静态变量发生变化会影响所有的对象。

    静态变量如何访问    静态变量可以通过对象.的方式访问,也可以通过类名.的方式访问。

4、请创建T141部学生(StudentT141)这个类,要求有姓名、年龄、导师、成绩、班级荣誉等变量。分析这些变量哪些是静态变量,哪些是属性(成员变量)书写这个类。

public class StudentT141 {

         public String name; //成员变量   每一个同学的姓名都是不一样的

         public int age;     //成员变量    每一个同学都有自己的年龄

         public String tutor;//静态变量   所有同学共有的,导师一变所有同学都会被影响

         public int score;   //成员变量     每一个同学都有自己的成绩,自己的成绩发生变化不会影响其他同学

         public String honor;//静态变量   班级荣誉是整个班级共有的

}

5、什么包?使用包有什么好处?

    包就是文件夹。

    利用包可以组织相关的类,同时可以做到信息的隐藏。

6、堆、栈、数据段、代码段各自存放什么数据?有什么特点?

     堆:    new(对象)

     栈:    局部变量

     数据段:类变量、常亮

     代码段:方法的定义

7、垃圾回收回收的是什么?

   回收没有被变量所指向的对象。

8、什么是null?如果对null值进行方法和属性的调用会发生什么情况?

    什么是null:  表示在变量中没有存放任何对象的地址

    调用会发生的情况: 当对值为null的变量进行方法调用和属性调用时,会抛出控制针异常。

9、根据代码画出内存图,并说出结果

public class Student {

      public int code;

}

 

public class Test {

         public static void main(String[] args) {

                   int x = 4;

                   Student s1 = new Student();

                   Student s2 = new Student();

                  

                   s1.code = 8;

                   s2.code = 3;

                   test(s1,s2,x);

             System.out.println(s1.code+"   "+s2.code+"  "+x);

         }

        

         public static void test(Student s2,Student s1,int x){

                   s1.code = 2;

                   s2.code = 5;

                  

                   s2 = s1;

                   s1.code = s2.code;

                  

                   s1 = new Student();

                   s1.code = 10;

                   s2.code = 7;

                  

                   x = 15;

         }

}

  

 

 

10、静态方法和成员方法应该如何调用?

    静态方法:可以通过类名.和对象.的方式调用。

    成员方法:只能通过对象.的方式调用。

11、什么是重载?

    方法重载发生在同一个类中,方法名相同,参数列表不同,和返回类型无关。根据调用方法的参数,决定执行那个重载方法。

12、什么是构造方法?构造方法的作用是什么?

    构造方法就是方法名和类名相同,没有返回类型。利用构造方法可以产生类的对象。

    作用:

         1.为对象分配空间

         2.初始化成员变量

         3.返回该对象的引用

13、说说下面的方法哪些重载了构造方法?

public class Test{

         public Test(int x){}

}

  a、public Test(int y){}

  b、public Test(String y){}

  c、public void Test(String x){}

  d、public int Test(int y,String x){}

  e、public Test(int y,String x){}

  f、public Test(String x,int y){}

    b,e,f重载了构造方法

 

14、下列哪一行进行了垃圾回收 

   Object o1 = new Object();  进行了垃圾回收

   Object o2 = new Object();

   Object[] array = new Object[2];

 

         o1 = o2;

         o2 = array[0];

          Array[0] = new Object();

         o1 = array[0];

   

 

15、说出下列代码执行结果

 a、public  class  Test{   

         public static void main(String[] args){

         int  j;

         System.out.println(j);

         }

   }

     j没有赋值,无法执行。

 b、public  class  Test{

         static int j;

         public static void main(String args){

         System.out.println(j);

         }

   }

    main 方法定义错误,(String[] args)在类Test中定义j的同时也符了初始值0;

 

 c、public  class  Test{

         int  j;

         public int getNum(){

         return this.j;

         }

         public static void main(String[] args){

         System.out.println(getNum());

         }

   }

 d、public  class  Test{ 

         public String  x;

         public static void main(String[] args){

          Test t = new Test();

         String  y = "";

         System.out.println(t.x.equals(y));

         }

   }会抛出空指针异常

 

posted @ 2017-06-04 22:23  萝卜撞地球  阅读(94)  评论(0)    收藏  举报