构造方法概述
构造方法是一种特殊的方法
作用:创建对象
格式:
public class 类名{
修饰符 类名(参数){
}
}
功能:主要是完成对象数据的初始化
public class StudentDemo{
public static void main(String[] args){
Student s1 = new Student();
}
}
public class Student{
public Student(){
//构造方法内书写的内容
}
}
标准类制作
1.成员变量
使用private修饰
2.构造方法
提供一个无参构造方法
提供一个带多个参数的构造参数
3.成员方法
提供每一个成员变量对应的setXxx()/getXxx()
提供一个显示对象信息的show()
4.创建对象并为其成员变量赋值的两种方式
无参构造方法创建对象后使用setXxx()赋值
使用带参构造方法直接创建带有属性值的对象
package com.gzxh.chapt03;
/*
* 描述一辆车
* 成员变量:type,size,zhongliang,pingpai
* 成员方法:xingshi(),lahuo()
*
* @content
* 构造方法:
* public 类名(){}
* 没有返回值数据类型,没有void
* 方法名字就是类名
* 构造方法调用:new 构造方法名();
*/
public class CarDemo {
//封装成员变量
private String type; //null
private int size;
private int zhongliang;
private String pingpai;
//构造方法
public CarDemo() {//无参构造:无参数
System.out.println("颠三倒四");
}
public CarDemo(String type){//有参构造:有参数
this.type = type;
}
public CarDemo(String type,int size) {
this.type=type;
this.size = size;
}
public CarDemo(String type,int size,int zhongliang,String pingpai) {
this.type=type;
this.size=size;
this.zhongliang=zhongliang;
this.pingpai = pingpai;
}
public CarDemo(int size,String type,int zhongliang,String pingpai){
this.type=type;
this.size=size;
this.zhongliang=zhongliang;
this.pingpai = pingpai;
}
//成员方法
public void xingshi(){
if(type.equals("跑车")){
System.out.println("比赛");
System.out.println(type);
System.out.println(size);
System.out.println(zhongliang);
System.out.println(pingpai);
}else if(type.equals("面包车")){
System.out.println("做生意");
System.out.println(type);
System.out.println(size);
System.out.println(zhongliang);
System.out.println(pingpai);
}else if(type.equals("挂车")){
System.out.println("拉货");
System.out.println(type);
System.out.println(size);
System.out.println(zhongliang);
System.out.println(pingpai);
}else{
System.out.println("xx");
}
}
public void lahuo(){
System.out.println("200");
}
}
封装
1.封装概述
是面向对象三大特征之一(封装,继承,多态)
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的
2.封装原则
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法
封装好处
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
private关键字
- 是一个权限修饰符
- 可以修饰成员(成员变量和成员方法)
- 作用是保护成员不被别的类使用,被private修饰的成员在本类中才能访问
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
提供“get变量名()方法”,用于获取成员变量的值,方法用public修饰
提供“set变量名(参数)方法”,用于设置成员变量的值,方法用public修饰
this关键字
- 1.this修饰的变量用于指代成员变量
- 方法的的行参如果与成员变量同名,不带this修饰的变量指的是行参,而不是成员变量
- 方法的行参没用与变量同名,不带this修饰的变量指的是成员变量
- 2.什么时候使用this呢?解决局部变量隐藏成员变量
- 3.this:代表所在类的对象引用
- 记住:方法被哪个对象调用,this就代表哪个对象