1.这好像是重点,目的用于描述一坨对象。先开发一个对象,然后把数据交给对象,调用对象的方法来处理数据。
2.在一个结构的class里边新建函数不加static ,那么这个函数就是一个实例方法。实例方法是与类的实例(对象)相关联的,而不是与类本身相关联的。有点听不懂,后边再说。
3.类本身可以作为一个类型使用,像int double啥的。就是调用函数。
4.新建的函数s1存放的是函数的地址。
5.对象的属性一般是有默认值的,不需要赋值。
6.public带的那个对象的名称必须是文件名。
7.this关键字,this指向的是调用它的函数地址。用于解决变量名称冲突,增强了可读性,让人不那么迷惑。
8.构造器,分为有参数和无参数,前边加public 函数名(),根据括号内有无参数划分。就是把参数放进括号里,更方便些。
9.封装 设计规范:合理隐藏和暴露 合理使用public和private
10.javabean(实体类)
示例
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("没有找到该电影!");
}
}