包括:类、封装、private关键字、this关键字、构造方法、标准JavaBean和键盘录入的两套体系这几部分的介绍
类和对象基础
类
类的组成是由属性和行为两部分组成
- 属性:在类中通过成员变量来体现(类中方法外的变量)
- 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
类的定义步骤:
①定义类
②编写类的成员变量
③编写类的成员方法
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
实列
/*
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sendMessage)
*/
public class Phone {
//成员变量
String brand;
int price;
//成员方法
public void call() {
System.out.println("打电话");
}
public void sendMessage() {
System.out.println("发短信");
}
}
演示
创建手机的类
创建一个小米手机的对象
封装
-
封装概述
是面向对象三大特征之一(封装,继承,多态)对象代表什么,就得封装对应的数据,并提供数据对应的行为
-
封装代码实现
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
成员变量private,提供对应的getXxx()/setXxx()方法
private关键字
private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
- 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
- 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
- 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
代码展示
public class GirlFriend {
//属性
private String name;
private int age;
private String gender;
//针对每一个私有化的成员变量,都要提供get和set方法
//使用set方法给成员变量赋值
//使用get方法获取成员变量的值
//给成员变量name进行赋值
//没有返回值,用形参name接受
public void setName(String name){
//局部变量表示测试类中调用方法传递来的数据
//把传递过来的name赋值给等号左边表示成员位置的name
this.name = name;
}
//对外提供name的属性
public String getName(){
return name;
}
//age
//set
public void setAge(int age){
if (age>=18 && age<=50){
this.age = age;
}else {
System.out.println("非法参数");
}
}
//get
public int getAge(){
return age;
}
//gender
//set
public void setGender(String gender){
this.gender = gender;
}
//get
public String getGender(){
return gender;
}
//行为
public void sleep() {
System.out.println("她在休息");
}
public void eat() {
System.out.println("她在吃饭");
}
}
测试代码
public class GirlFriendTest {
public static void main(String[] args) {
//创建GirlFriend的对象
GirlFriend gf1 = new GirlFriend();
//用private、set和get后的赋值不能再用下面操做,需要重新更改
//gf1.name = "小诗是";
//gf1.age = 18;
//gf1.gender = "女";
//System.out.println(gf1.name);
//System.out.println(gf1.age);
//System.out.println(gf1.gender);
//gf1.eat();
//gf1.sleep();
//赋值
gf1.setName("林青霞");
gf1.setAge(18);
gf1.setGender("女");
System.out.println(gf1.getName());
System.out.println(gf1.getAge());
System.out.println(gf1.getGender());
gf1.eat();
gf1.sleep();
}
}
运行结果
this关键字
- this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题)
- 方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量
- 方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
就近原则
构造方法
构造方法是一种特殊的方法
- 作用:创建对象 Student stu = new Student();
- 创建对象的时候,虚拟机自动调用构造方法,作用是给成员变量初始化。
构造方法没有返回值,不能写void
创建对象是new在做,他只是构造方法的其中一个步骤。
标准JavaBean
快捷键
Alt+INS
点击Constructor,后出现
点击红色部分,会出现空参
按Shift并点击最后一行会全部选择,然后出现全部带参构造
同样的方法选择
然后点击Ctrl+A可以全选,然后会对全部参数出现get和set
最后可以安装插件ptg一键生成
设置好类的属性以后
右键空白处,然后选择红色部分,即可一键生成
键盘录入的两套体系
- 第一套体系:
nextInt();接受整数
nextDouble();接受小数
next();接受字符串
这种体系遇到空格,制表符和回车就会通知接受。这些符号后面的数据就不会被接受。
- 第二套体系
nextLine();接受字符串
一般情况下两种体系不要联合使用
TIPS
在idea中ctrl+d可以复制上一行
格式化代码:Ctrl+Alt+L
Car car = arr[i];//先输入右边,再按ctrl + alt + v 可自动生成左边
下面的操作可以同时查看两个代码页面