1.封装1
a.类与对象的概念
对象:世间万物皆对象 将 属性 与 方法 封装成一个整体 类:具有相同属性,相同方法的同类型对象的集合,或者理解为同类型对象的模板
b.创建对象 使用对象
People p = new People();
2.封装2:
1.将属性设置为私有,使其在外部不能直接被访问 2.public private(私有的概念与效果) 3.getter setter a.用于给私有的成员属性提供公有的访问方式 b.命名规则:骆驼命名法: setName() getName() c.还能在set方法类定义逻辑,设置约束 总结: 一般将属性定义为私有,提供公有的方法访问(C#中的属性器,Java中用方法)
给对象属性赋值的方式:
1.类中初始值 2.测试类中 使用 对象名.属性名=值(public) 3.使用setter方法给属性赋值 4.使用构造方法给属性赋值
3.构造方法 new People(); 看上去是个方法 ,其实是构造方法 a.含义:对象创建时需要调用的方法 b.语法:无返回,同类名,访问权限尽量使用public c.默认构造函数:每个类都会有构造函数,不自己定义也会默认添加 特点: 无参 无代码 e.自定义构造方法 : 使用构造函数给属性赋值 f.构造方法的使用要求:只能在对象创建时被调用 "new"。 总结给对象属性赋值的4中形式: 默认值,对象.属性,set方法,构造方法, 三.课程3
方法重载
目的:为了方便使用,功能相似的多个方法可定义为同名 前提:一个类中的多个相似方法。 语法:参数 数量不同,类型不同 ,顺序不同 返回类型,修饰符对重载不造成影响 构造方法重载 既要是构造方法,过个方法之间又形成重载 this()用法:一个构造函数调用其他的构造函数重载形式 注意:不刻意去写 按需则用
四.多种关键字
1.关键字 this :
a.在写方法时,如果需要调用属性或其他方法可以使用this.XXX的方式。 b.并且当参数与属性同名时,可以使用this.XXX来区分同名的参数与属性。
的含义:指当前调用该方法的对象。原理:对象存储在内存中时,不同对象的属性存在不同位置,而所有对象的方法却只会保存一份,当某个对象调用方法时,会自动将自身引用与其他参数一起传递到方法中,用于识别是哪个对象调用的该方法。方法中的表示的就是这个传入的引用。
原理:对象存储在内存中时,不同对象的属性存在不同位置,而所有对象的方法却只会保存一 份,当某个对象调用方法时,会自动将自身引用与其他参数一起传递到方法中,用于 识别是哪个对象调用的该方法。方法中的this表示的就是这个传入的引用。
3 关键字 static
static块: 类加载时调用 与构造函数的区别,创建多个对象也只会调用一次静态块 static 属性: 静态属性 无需对象即可调用,所有对象共享
结合对象在内存的存储方式 练习:每次创建对象时 要求显示这是该类的第几个对象
static 方法: 静态方法 无需对象即可调用,只能操作静态属性
4 包 package import
打包的目的: 有效管理众多class文件`
生命周期,垃圾回收机制,析构函数finalize(); 对象在被垃圾回收时会调用的函数
五 。对象数组
概念: 数组的每个元素是对象 语法 : People ps[] = new People[]; 每个元素默认值为 null 给每个元素赋值: ps[1]= new People(....); 使用每个元素 ps[i].show();