java的第五天

Java入门教学之面向对象

1.面向对象与面向过程

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。强调的是过程,我来干什么?“我”作为过程的执行者。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。强调的是对象,我在这个过程中作为指挥者。

面向对象的优点

面向对象有什么好处
1.更贴近人的思维(懒人思维)。
2.将复杂的问题简单化。
3.从事物的执行者转换为事物的指挥者。

2. 类和对象

1.Java中最基本的单位就是类
2.类:对抽象事物的描述(模板)
3.对象:对抽象事物的具体描述(利用类创造出来具体事物)
4.如何描述一个对象
属性(成员变量 实例变量)
行为(方法)

简单定义一个学生类:

class Student{
    //成员变量(属性):类中 方法外
    String name ;
    int age;
    String gender;

    //成员方法(行为 方法) 先不写static 其他和函数声明一样
    public void eat() {
        System.out.println("吃饭");

    }
    public void sleep() {
        System.out.println("睡觉");
    }
    public void playGame(String gamename) {
        System.out.println("玩" + gamename);
    }

}

成员变量 和 局部变量的区别

1.生命周期(出生到死亡)
成员变量:随着对象的创建而创建,随着对象的销毁而销毁。
局部变量:随着方法的执行而创建,随着方法的结束而销毁。
2.初值
成员变量:如果没有初值系统会给默认值。
局部变量:没有初值不能使用。
3.作用域
成员变量:在整个类中有效。
局部变量:在方法中有效。
4.书写位置
成员变量:类中方法外。
局部变量:方法上或方法中。
5.在内存中的表现
成员变量:保存在堆内存中的。
局部变量:运行在栈内存中。

成员变量与局部变量在代码中的简单体现:

class Car{
    //车名
    String name = "拖拉机";
    //排气量
    String displacement = "不知道";
    //颜色
    String color = "红色";
    //开车
    //局部变量的书写位置:声明在方法上或者方法中
    public void run(int a) {
        //就近原则
        //String name = "wanghong";
        System.out.println(name);
        //局部变量不给初值不能直接使用
//      int num;
//      System.out.println(num);
        System.out.println("开车");

    }
    //介绍自己的方法
    public void sayHi() {
        //成员变量的作用域:整个类都能访问到
        System.out.println("车名:" + name);
        System.out.println("排量:" + displacement);
        System.out.println("颜色:" + color);
    }
}

面向对象的特征:封装 继承 多态

封装
方法本身就是一种封装。
将代码的实现或者属性隐藏起来,不让外界直接访问。
对外提供访问方法(间接访问)。

关键词 private(私有)
被private修饰的成员变量,只能被本类进行访问。

封装在具体函数中的实现

class Phone{
    //成员变量私有化
    private String name;
    private String color;
    //私有化后需要提供对外的访问的方法
    //每一个成员变量需要提供一对方法 赋值(set方法)和取值(get方法)
    //命名规范 set+成员变量名() 小驼峰
    public void setName(String name) {
        //就近原则
        //使用关键字 this
        //this表示本类的对象
        //this.name 表示 本类的name属性
        //this 谁调用了这个方法 这个对象就是this
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setColor(String color) {
        this.color = color;
    }
    public String getColor() {
        return color;
    }
    public void sayHi() {
        System.out.println(name + "" + color);
    }
}

猜你喜欢

转载自blog.csdn.net/guxin0729/article/details/82119147