1.这好像是重点,目的用于描述一坨对象。先开发一个对象,然后把数据交给对象,调用对象的方法来处理数据。

2.在一个结构的class里边新建函数不加static ,那么这个函数就是一个实例方法。实例方法是与类的实例(对象)相关联的,而不是与类本身相关联的。有点听不懂,后边再说。

3.类本身可以作为一个类型使用,像int double啥的。就是调用函数。

4.新建的函数s1存放的是函数的地址。

5.对象的属性一般是有默认值的,不需要赋值。

6.public带的那个对象的名称必须是文件名。

7.this关键字,this指向的是调用它的函数地址。用于解决变量名称冲突,增强了可读性,让人不那么迷惑。

8.构造器,分为有参数和无参数,前边加public 函数名(),根据括号内有无参数划分。就是把参数放进括号里,更方便些。

学习 面向对象编程oop 的心得_System

9.封装 设计规范:合理隐藏和暴露 合理使用public和private  

10.javabean(实体类)

学习 面向对象编程oop 的心得_java_02

示例

package com.lzk.test;
public class student { 
    //私有化成员变量,为每个变量提供getter和setter方法
    private String name;
    private Double score;
//无参数构造器
    public student() {
    }
//有参数构造器
    public student(String name, Double score) {
        this.name = name;
        this.score = score;
    }
//getter和setter方法
    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;
    }


11.案例 电影信息查询系统

主函数

package com.lzk.test;

import java.util.Scanner;
//1,“默杀“,39,6.9,”柯汶利“,”王传君“
//2,“头脑特工队2“,40,8.4,”凯尔西·曼“,”艾米·波勒“
//3,“寂静之地:入侵日“,40,5.8,”迈克尔·萨诺斯基“,”露皮塔·尼永奥“
//4,“来福大酒店“,38,7.3,” 刘博文“,”黄轩“
public  class test {
    public static void main(String[] args) {
        //1.设计一个电影类
        //2.设计一个电影院操作类
        //3.准备全部电影数据
        Movie[] movies = new Movie[4];
        movies[0] = new Movie(1,"默杀",39,6.9,"柯汶利","王传君");
        movies[1] = new Movie(2,"头脑特工队2", 40, 8.4, "凯尔西·曼", "艾米·波勒");
        movies[2] = new Movie(3,"寂静之地:入侵日", 40, 5.8, "迈克尔·萨诺斯基", "露皮塔·尼永奥");
        movies[3] = new Movie(4,"来福大酒店", 38, 7.3, "刘博文", "黄轩");
        //4.创建电影院操作系统
        MovieOperator operator = new MovieOperator(movies);
      //  operator.printAllMovies();1
      //  operator.searchMovieById(2);


       Scanner sc = new Scanner(System.in);
        while (true) {
        	System.out.println();
            System.out.println("欢迎使用电影院操作系统");
            System.out.println("1. 列出所有电影");
            System.out.println("2. 根据id搜索电影");
            System.out.println("请输入指令:");

            int id = sc.nextInt();
            switch (id) {
                case 1:
                    operator.printAllMovies();
                    break;
                case 2:
                    System.out.println("请输入电影id:");
                    int movieId = sc.nextInt();
                    operator.searchMovieById(movieId);
                    break;

                default:
                    System.out.println("指令错误,请重新输入!");
                    break;
            }
        }
    }

}

构造器

package com.lzk.test;

public class Movie {
    private int id;
    private String name;
    private double price;
    private double score;
    private String director;
    private String actor;

    public Movie() {
    }

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

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getScore() {
        return score;
    }

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

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    public String getActor() {
        return actor;
    }

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

电影操作系统

package com.lzk.test;

import java.util.MissingFormatArgumentException;

public class MovieOperator {
    private Movie[] movies;
    public MovieOperator(Movie[] movies) {
        this.movies = movies;
    }
    public void printAllMovies() {
        System.out.println("All movies:");
        for (int i = 0; i < movies.length; i++) {
            Movie movie = movies[i];
            System.out.println("编号" + movie.getId() +" 电影名称:"+ movie.getName() +" 评分:"  +movie.getPrice() +" 得分:"+movie.getScore() );
        }
    }
    public void searchMovieById(int id) {
        System.out.println("All movies:");
        for (int i = 0; i < movies.length; i++) {
            Movie movie = movies[i];
            if (movie.getId() == id) {
                System.out.println("编号" + movie.getId() +" 电影名称:"+ movie.getName() +" 评分:"  +movie.getPrice() +" 得分:" + movie.getScore() +" 导演:" + movie.getDirector() +" 主演:" + movie.getActor() );
                return;
            }
        }
        System.out.println("没有找到该电影!");
    }
}