java面向对象(三)

一、面向对象的三大特征
封装、继承、多态
封装告诉我们如何正确设计对象的属性和方法
封装的原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
1.一般建议对成员变量使用private(私有、隐藏)关键字修饰进。
2.为每个成员变量提供配套public修饰的getter、setter方法暴露其取值和赋值。

package com.study.oop.encapsulation;


//目标:学习如何进行更好的封装
public class Test2 {

    public static void main(String[] args) {

        Student s =new Student();
        s.setAge(23);
        System.out.println(s.getAge());

    }
}

package com.study.oop.encapsulation;

import javax.swing.plaf.PanelUI;

public class Student {
    //1.成员变量使用private修饰,只能在本类中访问

    private int age;


    //2.提供成套的getter和setter方法暴露其取值和赋值


    public void setAge(int age) {
        if (age >= 0 && age <= 200) {
            this.age = age;
        } else {
            System.out.println("你的年龄数据有问题");
        }
    }


    public int getAge() {
        return age;
    }
}

二、JavaBean
1.也可称为实体类,其对象可以用于在程序中封装数据。

标准JavaBean须满足如下书写要求:
1.成员变量用private修饰
2.提供成员变量对应的getxxx/setxxx方法。
3.必须提供一个无参构造器,有参构造器可写可不写。

四、成员变量和局部变量的区别
在这里插入图片描述
面向对象案例

package com.study.oop.demo02;

public class Movie {


    private String name;
    private double score;
    private String actor;


    public Movie(String name, double score, String actor) {
        this.name = name;
        this.score = score;
        this.actor = actor;
    }

    public Movie() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public String getActor() {
        return actor;
    }

    public void setActor(String actor) {
        this.actor = actor;
    }


    public static void getMovie(Movie[] movies) {

        for (int i = 0; i < movies.length; i++) {

            System.out.println("影片名:" + movies[i].getName());
            System.out.println("评分:" + movies[i].getScore());
            System.out.println("主演:" + movies[i].getActor());
            System.out.println("============================");

        }

    }
}

package com.study.oop.demo02;

import static com.study.oop.demo02.Movie.getMovie;

public class Test {

    public static void main(String[] args) {

        //使用面向对象思想模仿电影信息展示


        //1.定义一个数组将三个电影对象存入数组

        Movie[] movies = new Movie[3];

        movies[0] = new Movie("《触不可及》", 9.8, "布莱恩·克兰斯顿");
        movies[1] = new Movie("《肖申克的救赎》", 9.7, "蒂姆·罗宾斯");
        movies[2] = new Movie("《霸王别姬》", 9.6, "张国荣");


        //2.调用方法访问电影信息。

        getMovie(movies);


    }


}

运行效果图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值