面向对象1

oo面向对象object oriented ;ooD面向对象设计

ooa 面向对象分析;oop:面向对象编程programing

一、类和对象

1.定义:类:类型/类别,代表一类个体;类是对象的模板/模子,对象是类的具体的实例

对象的属性/特征-----------------------------成员变量
对象的行为/动作/功能----------------------方法

 //成员变量----对象的属性
    String name;
    int age;
    String address;

    //方法-----对象的行为/功能
    void study(){
        System.out.println(name+"在学习...");
    }
    void sayHi(){
        System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
    }
           //创建一个学生对象
           Student zs = new Student();
           //给成员变量赋值
           zs.name = "zhangsan";
           zs.age = 18;
           zs.address = "河北廊坊";
           //调用方法
           zs.study();
           zs.sayHi();
   
           Student ls = new Student();
           ls.name = "lisi";
           ls.age = 25;
           ls.address = "黑龙江佳木斯";
           ls.study();
           ls.sayHi();
   
           //1)创建了一个学生对象
           //2)给所有成员变量赋默认值
           Student ww = new Student();
           ww.study();
           ww.sayHi();

2.方法的签名:方法名+参数列表

             Aoo o = new Aoo();
             o.show();
             o.show("zhangsan");
             o.show(25);
             o.show("zhangsan",25);
             o.show(25,"zhangsan");
         }

3.方法的重载(overload/overloading):发生在同一类中,方法名相同,参数列表不同

void show(){}
         void show(String name){}
         void show(int age){}
         void show(String name,int age){}
         void show(int age,String name){}
     
         //int show(){ return 1; } //编译错误,重载与返回值类型无关
         //void show(String address){} //编译错误,重载与参数名称无关

二、 构造方法:

1.造函数、构造器、构建器-----------------------复用给成员变量赋初值的代码

作用:给成员变量赋初值

与类同名,没有返回值类型(连void都没有)

在创建(new)对象时被自动调用

若自己不写构造方法,编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供

构造方法可以重载

2.this:指代当前对象,哪个对象调用方法它指的就是哪个对象

   ​        只能用在方法中,方法中访问成员变量之前默认有个this.

public class Student {
         String name; //成员变量(整个类中)
         int age;
         String address;
         //给成员变量赋初值
         Student(String name,int age,String address){ //局部变量(当前方法中)
             this.name = name;
             this.age = age;
             this.address = address;
         }
     
         void sayHi(){
             System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
         }
     }

3.null:表示空,没有指向任何对象。

若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空指针异常。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值