文章目录
面向对象
类和对象的介绍和理解
方法就是函数,类是共同特征的描述(设计图),对象就是一个工具实际存在。
类的定义方法
public class 类名{
成员变量;
成员方法;
}
封装原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
封装_private关键字
public class GirlFriend {
private int age;
public void setAge(int a){
if(a >= 18 && a <= 50){
age = a;
}
else{
System.out.println("非法数据");
}
}
public int getAge(){
return age;
}
}
public class GirlFriendTest {
public static void main(String[] args) {
GirlFriend gf1 = new GirlFriend();
Scanner sc = new Scanner(System.in);
gf1.setAge(sc.nextInt());
System.out.println(gf1.getAge());
}
}
就近原则 & this关键字
public class GirlFriend2 {
private int name;//成员变量
public void setAge(){
int name = 10;//局部变量
System.out.println(name);
//就近原则,输出为10
System.out.println(this.name);
//this关键字,表示成员变量,输出为0
}
构造方法
构造方法—作用
创建对象的时候,由虚拟机调用,给成员变量进行初始化的
构造方法—格式
public class Student(){
修饰符 类名(参数){
方法体;
}
}
方法名与类名一致(包括大小写)
没有返回值类型和返回值(不能写return)
public class Student {
private String name;
private int age;
//空参构造器
public Student(){}
//带全部参数的构造器
public Student(String name, int age){
this.name = name;
this.age = age;
}
}
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();//无参构造
Student ss = new Student("xiaoming",18);//带参构造
}
}
构造方法—注意事项
任何类定义出来,默认就自带了无参构造器,不用自己写
若自己写了有参构造器,默认的无参构造器就没有了,需要自己写
一般需要自己写上无参构造器和有参构造器(带全部参数)
标准JavaBean类
1、类名(要见名知意)
2、成员变量要是用 private 修饰
3、至少提供两个构造方法(无参构造器、带全部参数的构造器)
4、成员方法(提供对应成员变量的 setXxx() / getXxx() )
生成JavaBean类快捷键:alt + (FN) + insert
快捷插件: PTG
对象内存图
基本数据类型和引用数据类型
基本数据类型:数据是存储在自己的空间(即栈内存)中的,例如整型int、浮点型double等。
特点:赋值给其他变量时,也是赋的真实值。
引用数据类型:数据值是存储在其他空间(即堆内存)中的,自己空间(即栈内存)中存储的是地址值,例如对象、数组等。
特点:赋值的时候赋的是地址值。
this的内存原理
this的本质:所在方法调用者的地址值
this的作用:用于区分局部变量和成员变量
成员变量和局部变量的区别
键盘录入技术
1、第一套体系
Scanner sc = new scanner(System.in);
int num1 = sc.nextInt(); //接收整数
double num2 = sc.nextDouble(); //接收小数
String num3 = sc.next(); //接收字符串
特点:遇到空格、制表符、回车就停止接受。符号后面的数据就不再接受了
2、第二套体系
nextLine(); //接收字符串
特点:可以接收空格、制表符,遇到回车才停止接收。
API
API(Application Programming Interface):应用程序编程接口
Java API:JDK中提供的各种功能的Java类
备注:部分资料来自bilibili黑马程序员