面向对象

特征:封装继承多态

  • 定义类:定义类的成员(成员变量和成员方法)
    成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。(全局变量)
    成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
  • 类:是一组相关的属性和行为的集合
  • 对象:是该类事物的具体体现
    ——如何创建一个类对象?
    ——eg:Scanner sc = new Scanner()——Scanner()为类,sc为类对象

Student stu = new Student()
格式:类名 对象名 = new 类名();



  1. 先给成员变量赋值 eg:stu.name = “xiaoming”;
  2. 获取成员变量的值 eg:String name = stu.name;
  • 若不获取成员变量的值,则输出时为:System.out.println(stu.name);
  1. 输出成员变量 eg:System.out.println(name);
  2. 使用成员方法 eg:stu.eat();

局部变量和成员变量区别

两者均遵循就近原则:当成员变量和局部变量重名时,那么访问变量的规则就遵从就近原则——先从局部范围找,找变量,如果找不到,去成员位置找,找成员变量

成员变量:
  1. 定义在类中方法外
  2. 存放于堆内存中
  3. 随着对象的消失而消失
  4. 有默认初始值
局部变量:
  1. 定义在方法声明上或者方法中
  2. 存放于栈内存中
  3. 随着方法的调用结束而消失
  4. 无默认初始值,必须经过赋值才能使用

传参

形式参数若为基本类型——则形参改变不影响实参
形式参数若为引用类型——则形参改变直接影响实参
基本类型:除非把变量定义一个返回值,使它可以被赋值,否则对实参无影响
引用类型:引用的内存地址和实参是一个,调用完方法后参数值被改变

封装

定义:隐藏对象的属性和实现细节,仅对外提供公共访问方式——提高了代码的安全性与重复使用性

private——关键字
  • 权限修饰符,可以修饰成员变量和成员方法,使其只能在本类中被访问
  • 提供对应的setXXX()和getXXX()
this——关键字

定义:代表当前类的一个对象,哪个方法调用这个对象,this就代表哪个方法

  • 解决局部变量隐藏成员变量的问题