首页 > 代码库 > java总结第二次(剩余内容)//类和对象1

java总结第二次(剩余内容)//类和对象1

7.成员变量和局部变量

成员变量:在类中定义,用来描述对象将要有什么

局部变量:在类的方法中定义,在方法中保存临时数据

区别:作用域不同

局部变量的作用域仅限于定义它的方法

成员变量的作用域在整个类内部都是可见的

8.信息的封装和隐藏

 Java中通过将数据声明为私有的(private),再提供公开的(public)方法:getXXXsetXXX实现对该属性的操作,以实现下述目的:

隐藏一个类的实现细节;

使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;

便于修改,增强代码的可维护性;

举例:

public class Animal{

    private int legs;       将属性legs定义为private

    public void setLegs(int i){  

        if (i != 0 && i != 2 && i != 4){

            System.out.println("Wrong number of legs!");

            return;

        }

        legs=i;

    }

    public int getLegs(){    在这里定义方法

        return legs;

    }

}

 

9.构造器的定义与作用

构造方法的特征

      当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。

构造方法的特征

与类名相同;

没有返回值(区别于void)

举例:

public class Animal {

private int legs;

public Animal() {legs = 4; } 构造器

public void setLegs(int i) { legs = i; }

public int getLegs(){return legs;}

}

另:默认的构造方法:

Java语言中,每个类都至少有一个构造方法;

如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个默认的无参数的构造方法。所以:一个类本身不编写构造方法,依然能用new Xxx()创建该类的实例。

Java类中,一旦类的定义者显式定义了一个或多个构造方法,系统将不再提供默认的构造方法;

构造器的主要作用:利用构造器参数初始化对象的属性。

 

 

10.

 技术分享

 

11.方法的重载

方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。 如:

 

public class Test{

    public static void main(String [] args){

int isum;

double dsum;

isum=add(3,5);

isum=add(3,5,6);

dsum=add(3.2,6.5);

    }

    public static int add(int x,int y)         {  return x+y; }

    public static int add(int x,int y,int z)   { return x+y+z; }

    public static double add(double x,double y){  return x+y; }

}

具体要求:

 在同一个类中可以定义多个同名方法

public class PrintStream{

    public void print(int i) {……}

    public void print(float f) {……}

    public void print(String s) {……}

            }

  重载方法的参数列表必须不同

  重载方法的返回值类型可以相同,也可以不同

  调用时根据方法的参数类型来区别。

     print(3)print(1.2f)print(hello!)

12.构造方法的重载

构造方法一般用来在创建对象的同时初始化对象。如

class Person{

String name;

int age;

public Person(String n , int a){  name=n; age=a;}

}

构造方法重载使得对象的创建更加灵活,方便创建各种不同的对象。

构造方法重载举例:

       public class Person{

    public Person(String name, int age, Date d) {this(name,age);}

    public Person(String name, int age) {}

    public Person(String name, Date d) {}

    public Person(){}

}

构造方法重载,参数列表必须不同

举例:

public class Person {

    private String name;

    private int age;

    private Date birthDate;

    public Person(String name, int age, Date d) {

         this.name = name;

         this.age = age;

         this.birthDate = d;

     }

     public Person(String name, int age) {

          this(name, age, null);  

     }

     public Person(String name, Date d) {

          this(name, 30, d);    

     }

     public Person(String name) {

         this(name, 30);    

     }

}

13.this关键字

每个成员方法内部,都有一个this引用变量,指向调用这个方法的对象。

具体实例见上面程序

java总结第二次(剩余内容)//类和对象1