一、构造器
定义在类中的,可以用于初始化一个类的对象,并返回对象地址。
Car r = new Car();——即构造器
构造器的格式:
修饰符 类名(形参列表){
...
}
如:
类 变量名称 = new 构造器();
二、this关键字
1.作用:可以用于指定访问当前对象的成员变量、成员方法。
三、封装
封装的原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
1.如何封装,代码如下
package thisdemo;
//学习如何进行更好的封装
public class Test2 {
public static void main(String[] args) {
Student s = new Student();//调用方法
s.setAge(-23);//赋值
System.out.println(s.getAge());
}
}
package thisdemo;
public class Student {
//1.成员变量,使用private修饰,只能在本类中访问。
private int age;
//提供成套的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
也可以成为实体类,其对象可以用于在程序中封装数据。
书写要求:成员变量使用private修饰,提供成员变量对应的setXxx()/getXxx()方法,必须提供一个无参构造器。
代码如下:
package JavaBean;
//记住JavaBean的书写
public class Test {
public static void main(String[] args) {
//1.无参数构造器创建对象封装一个用户信息
User u1 = new User();
u1.setName("破落天堂封织云");
u1.setHeight(172);
u1.setSalary(30000);
System.out.println(u1.getName());
System.out.println(u1.getHeight());
System.out.println(u1.getSalary());
//2.有参数构造器创建对象封装一个用户信息
User u2 = new User( "破落天堂封云" , 178 ,30000);
System.out.println(u2.getName());
System.out.println(u2.getHeight());
System.out.println(u2.getSalary());
}
}
package JavaBean;
public class User {
//1.成员变量建议使用private私有
private String name;
private double height;
private double salary;
//2.必须为成员变量提供成套的setter和getter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
//3.要求提供"无参数"构造器。
public User(String name, double height, double salary) {
this.name = name;
this.height = height;
this.salary = salary;
}//有参数的构造器
public User() {
}
}
可以自己生成JavaBean的相关代码,右键生成SG。
面向对象综合案例——模仿电影信息展示。
代码如下:
package movieDemo;
/**
* 目标:使用面向对象编程,模仿电影信息展示
* 一部电影是一个Java对象,需要先设计电影类,在创建电影对象
* 三部电影可以用数组储存起来
* 依次遍历数组中的每个电影对象,取出其信息进行展示
*
* 长津湖 吴京 9.7
* 我和我的父辈 吴京 9.1
* 扑水少年 王川 9.1
*/
public class Test {
public static void main(String[] args) {
//1.首先设计电影类
//2.创建三个电影对象,封装电影信息
//3.定义一个电影类型的数组存储三部电影对象
Movie[] movies = new Movie[3];
movies[0] = new Movie("《我和我的父辈》" , "吴京" , 9.7);
movies[1] = new Movie("《长津湖》" , "吴京" , 9.5);
movies[2] = new Movie("《扑水少年》" , "王川" , 9.1);
//4.遍历数组中的每个电影对象,获取其信息并展示
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];//注意,这里为Movie类
System.out.println("电影名称" + m.getName());
System.out.println("主演:" + m.getActor());
System.out.println("电影评分:" + m.getScore());
System.out.println("-------------------------");
}
}
}
JavaBean代码如下
package movieDemo;
public class Movie {
//1.成员变量
private String name;
private String actor;
private double score;
//2.getter、setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
//3.生成构造器无参数
public Movie(String name, String actor, double score) {
this.name = name;
this.actor = actor;
this.score = score;
}
public Movie() {
}
}
标签:4.11,总结,String,double,System,println,public,name
From: https://www.cnblogs.com/XiMenXve/p/17307090.html