回顾:1 面向对象的核心:找到合适的对象做合适的事情。
面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物。面向对象侧重于对象。
2类与对象 :类是同一类事物的抽象,对象是这个类的具体实现,如何让对类进行分析,如果创建自定义类对象,病指挥类做事情,类的结构
class 类名{ new类名();
//公有地属性 匿名对象:一般不会用匿名对象给属性赋值,因为无法获取
构造方法 作用:书写简单,如果一个对象中的方法只需要调用一次,这个时候就可以
构造代码块 使用匿名对象,可以在实际参数在方法中调用
公有方法,普通方法 设置属性:必须要有一个对象,对象。属性名 = 值;访问属性 对象。属性名
} 访问方法: 对象。方法名();
3对象的内存分布: 对象的引用便亮是存在栈区中的,对象是存在锥区中的,成员变量也随着对象的存在
4成员变量与局部变量的区别:1位置:成员变量在类方法外,局部变量实在方法中2作用域:成员变量在当前中都可以使用,局部变量只能在方法中
3初始化:成员变量默认有初始值,局部变量要想使用必须初始化4生命周期:随着对象的创建而创建,随性和对象的消失而消失
5构造函数和一般函数的区别:1结构上,构造函数是没有返回值的,方法名就是类名,构造函数室友JVm来调用的,自己无法手动调用,只会调用一次2作用:初始化的时候给属性赋值,描述对象的某种行为,构造函数是创建的时候jvm调用的。
6 构造代码块的作用:可以给对象统一设置初始化,位置:在成员变量写在哪里,我就可以写在哪里,构造代码块是构造函数中执行的,并且先于构造函数中的代码执行,java编译的时候自动将成员变量的声明放在最前面
7this关键字的特点使用及场景:this:当前调用方法的对象,作用:如果成员变量和局部变量同名可以通过this来调用成员变量,可以通过this实现构造方法中调用构造方法,格式:必须是方法中的第一个语句
7static 叫静态修饰符 1用来修饰这个成员变量,一个成员变量被static就叫静态成员变量,如果没有修饰非静态成员变量
2静态变量的访问方式:1用对象进行访问 对象名.变量名2可以通过类名来访问 类名.变量名
3注意:千万不要认为方便就把变量都用static修饰,只有当数据真正需要共享时采用,局部变量不允许被static修饰
4静态成员变量只能被创建一次
8static来修饰方法:1访问方式,可以通过对象来访问,对象。方法名(),可以通过类来访问类。方法名()推荐使用类名调用
2注意点:静态方法可以用对象和类名调用,费静态方法只能用对象来调用
静态方法是可以访问静态成员变量不能够访问非静态成员变量,费静态方法中可以访问,原因:有可能静态方法被调用 了但是对象还没有被创建出来
静态方法可以直接访问静态方法,但是不能访问费静态方法,非静态方法是可以访问静态方法的,
原因:有可能静态方法被调用了但是对象还没有创建出来,非静态方法只能由对象调用,如果对象被创建出 来,静态方法早就存在内村中了
静态方法中不允许出现this关键字和super关键字,this表示一个方法调用者对象,可能没有被创建出来
特点:静态数据早于非静态数据存在内存中,当一个方法不需要直接访问非静态数据的时候,可以用static来修饰
9java入口函数
1权限修饰符public 公共的,公开的,权限是最大的,任何情况下都可以调用;private私有的权限是最小的,只能自己本类中访问
protected 受保护的
主函数使用public原因:main方法是有jvm来调用的,jvm实际是一个程序,为了保证jvm能够在任何情况下来访问
2static 如果没有static这个时候用主方法就需要通过对象来调用,jvm如果创建对象不知道该穿什么参数
3void main是jvm来调用的,返回值是给jvm的jvm接受返回值没有任何意义,所以不需要返回值
4 main 不是关键字,main是入口
5args 用来接受程序运行时传递进来的参数
10单利设计模式:一个类能够创建出一个对象出来 ;设计模式 用来解决一类问题的方案
1单利设计模式2观察者设计模式3模块设计模式4装饰设计模式5工厂模式
单里设置的步骤:1创建一个对象把它设置为私有的静态成员变量,保证对象的唯一
2把构造方法设置为私有,防止new一个对象
3定义一个公开的静态方法,返回值为上面的对象
oc 中的单利 饿汉单例设计模式 懒汉设计模式
class Single{ class Single {
+(Single*)default{ String name; private static Single s;
static Single s; int age; //私有化一个构造方法
if(s==null){ //保证对象的唯一 private single(){};
s= [[Single alloc]init]; 、、声明本类的引用变量,并且创建出来
} private static Single s = new Single();//静态的成员变量 //提供一个静态方法来接收唯一的对象
return s; private singlle(){} private static Single getInstance(){
//提供一个静态的方法来接受唯一的对象 if(s==null){
} public static Single getInstance(){ s=new single();
return s; }
} return s;
11封装(面向对象的三大特征)
1使用private修饰需要封装的成员变量 2提供一个公开的方法设置或者访问私有的属性
2 设置:通过set 命名规范 set属性名();属性名首字母要大写
通过get get属性名();属性的首字母要大写
3是不是所有的属性都需要由set和get方法?不一定,
4封装用具 1框架2工具类
5封装的好处:1提高了数据的安全性2操作简单3隐藏了方法的实现