【类与对象】--------java基础学习第六天

类与对象


1. 对于面向对象的开发来讲也分为三个过程:

  OOA(面向对象分析)

   OOD(面向对象设计)

   OOP(面向对象编程)

2. 面向对象的基本特征

  2.1. 封装:保护内部操作(属性,方法)不被破坏。

    1. 方法就是一种封装
    2. 关键字private(私有化)也是一种封装

        使用了该关键字,本类当中仍然可以随意访问,但超出本类就不能直接访问了。

        间接访问private修饰的成员变量,可以设置一组getter/setter 方法。

        对于getter来说,不能有参数,返回值类型与返回值一致。

        对于setter来说,不能有返回值,参数类型与返回值类型一致。

        This用来区分成员变量和局部变量 

   2.2. 继承:在原本的基础上继续进行扩充。

   2.3. 多态:在一个指定范围之内进行概念转换

 3. 类与对象的基本概念

  类:是一组相关属性和方法的集合,可以看成一类事物的模板。也就是说,类就是将具有共同特点的事物,抽象成为一个类。(例如:人,猫)

    • 属性(成员变量):该事物的状态信息。(例如:学生有名字,年龄,联系方式等)
    • 方法(成员方法):事物能够做什么,属于动作。(例如:学生能吃饭,睡觉,学习)      

示例代码:

复制代码
1 class Student{
2     String name;
3     int age;
4 
5     public void eat(){
6         System.out.println("eat food");
7     }
8 ]    
复制代码

   对象:一类事物的具体表现。(例如:学生,波斯猫)

示例代码:

Student s = new Student();            //其中s为具体的对象
System.out.println(s.name);            //调用该该对象的属性
s.eat();           //调用该该对象的方法

  类与对象之间的关系:   

      类是抽象的,是事物的描述

      对象是具体的,是事物的实例

      类是对象的模板,对象是类的实体

4.对象调用在内存中的示意图

5.对象作为参数传递(传递的是地址) 

  当一个对象作为参数传递时,实际上传进去的是对象的地址值。

6.局部变量与成员变量的区别 

  定义位置:

    成员变量:在方法内部的变量

    局部变量:在方法外部定义的变量

  内存位置:

    局部变量:存在于栈内存中

    成员变量:存在于堆内存中

  默认值区别:

    局部变量:没有默认值

    成员变量:有默认值

  作用域不同:

    局部变量:只在小范围内使用

    成员变量:在当前类中都能使用

  生命周期不同:

    局部变量在方法被调用的时候产生,在方法调用结束时死亡

    成员变量在对象创建的时候产生,对象被回收的时候死亡。

7.构造方法

  作用:用来创建对象,并且快速赋值

   格式

复制代码
 1 class Student{
 2     String   name;
 3     int age;
 4 
 5     public Student(){       //无参的构造方法
 6 
 7     }
 8     public Student(String   name,int age){    //全参构造方法
 9          this.name = name;
10          this.age = age;
11     }
12         
13 }        
复制代码

  特点(注意事项):   

    构造方法的名称与所在的类名称完全一样

    构造方法不写返回值类型,连void也不写

    构造方法不能return一个具体的返回值

    如果没有编写任何构造方法,那么编译器将会默认一个无参的构造方法

    一旦编写了一个构造方法,那么默认的构造方法将会被覆盖

    构造方法也是可以进行重载的

8.构建一个完整的类  

  通常有四部分组成:

    用private修饰的成员变量

    为每一个成员变量生成getter setter方法

    编写一个无参的构造方法

    编写一个全参的构造方法

代码示例:

复制代码
 class Student1 {
    private String name;
    private int age;

    public Student1(){

    }
    public Student1(String name ,int age){
        this.name = name;
        this.age = age;
    }

    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    public int getAge(){
        return age;
    }
    public void SetAge(int age){
        this.age = age;
    }

    public void eat(){
        System.out.println("eat food");
    }
    public void sleep(){
        System.out.println("sleep");
    }
    public void study(){
        System.out.println("study!");
    }
}
复制代码

注:定义一个类时,不能直接写输出语句。


1. 对于面向对象的开发来讲也分为三个过程:

  OOA(面向对象分析)

   OOD(面向对象设计)

   OOP(面向对象编程)

2. 面向对象的基本特征

  2.1. 封装:保护内部操作(属性,方法)不被破坏。

    1. 方法就是一种封装
    2. 关键字private(私有化)也是一种封装

        使用了该关键字,本类当中仍然可以随意访问,但超出本类就不能直接访问了。

        间接访问private修饰的成员变量,可以设置一组getter/setter 方法。

        对于getter来说,不能有参数,返回值类型与返回值一致。

        对于setter来说,不能有返回值,参数类型与返回值类型一致。

        This用来区分成员变量和局部变量 

   2.2. 继承:在原本的基础上继续进行扩充。

   2.3. 多态:在一个指定范围之内进行概念转换

 3. 类与对象的基本概念

  类:是一组相关属性和方法的集合,可以看成一类事物的模板。也就是说,类就是将具有共同特点的事物,抽象成为一个类。(例如:人,猫)

    • 属性(成员变量):该事物的状态信息。(例如:学生有名字,年龄,联系方式等)
    • 方法(成员方法):事物能够做什么,属于动作。(例如:学生能吃饭,睡觉,学习)      

示例代码:

复制代码
1 class Student{
2     String name;
3     int age;
4 
5     public void eat(){
6         System.out.println("eat food");
7     }
8 ]    
复制代码

   对象:一类事物的具体表现。(例如:学生,波斯猫)

示例代码:

Student s = new Student();            //其中s为具体的对象
System.out.println(s.name);            //调用该该对象的属性
s.eat();           //调用该该对象的方法

  类与对象之间的关系:   

      类是抽象的,是事物的描述

      对象是具体的,是事物的实例

      类是对象的模板,对象是类的实体

4.对象调用在内存中的示意图

5.对象作为参数传递(传递的是地址) 

  当一个对象作为参数传递时,实际上传进去的是对象的地址值。

6.局部变量与成员变量的区别 

  定义位置:

    成员变量:在方法内部的变量

    局部变量:在方法外部定义的变量

  内存位置:

    局部变量:存在于栈内存中

    成员变量:存在于堆内存中

  默认值区别:

    局部变量:没有默认值

    成员变量:有默认值

  作用域不同:

    局部变量:只在小范围内使用

    成员变量:在当前类中都能使用

  生命周期不同:

    局部变量在方法被调用的时候产生,在方法调用结束时死亡

    成员变量在对象创建的时候产生,对象被回收的时候死亡。

7.构造方法

  作用:用来创建对象,并且快速赋值

   格式

复制代码
 1 class Student{
 2     String   name;
 3     int age;
 4 
 5     public Student(){       //无参的构造方法
 6 
 7     }
 8     public Student(String   name,int age){    //全参构造方法
 9          this.name = name;
10          this.age = age;
11     }
12         
13 }        
复制代码

  特点(注意事项):   

    构造方法的名称与所在的类名称完全一样

    构造方法不写返回值类型,连void也不写

    构造方法不能return一个具体的返回值

    如果没有编写任何构造方法,那么编译器将会默认一个无参的构造方法

    一旦编写了一个构造方法,那么默认的构造方法将会被覆盖

    构造方法也是可以进行重载的

8.构建一个完整的类  

  通常有四部分组成:

    用private修饰的成员变量

    为每一个成员变量生成getter setter方法

    编写一个无参的构造方法

    编写一个全参的构造方法

代码示例:

复制代码
 class Student1 {
    private String name;
    private int age;

    public Student1(){

    }
    public Student1(String name ,int age){
        this.name = name;
        this.age = age;
    }

    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    public int getAge(){
        return age;
    }
    public void SetAge(int age){
        this.age = age;
    }

    public void eat(){
        System.out.println("eat food");
    }
    public void sleep(){
        System.out.println("sleep");
    }
    public void study(){
        System.out.println("study!");
    }
}
复制代码

注:定义一个类时,不能直接写输出语句。

猜你喜欢

转载自www.cnblogs.com/yezi11/p/9588080.html