类和对象+复杂度

类就是一类对象的统称。对象就是这一类具体化的一个实例。

用类类型创建对象的过程,称为类的实例化

类的成员:1、字段、属性、成员变量:在类的内部方法的外部。

Person person = null;//person不指向任何对象。

引用变量 一定是在栈上吗? 不一定。在不在栈上取决于是不是局部变量。

引用 不能指向引用——》 一个引用指向另一个引用所指的对象。

一个引用可以指向多个对象吗?不可以,只能保存一个对象的地址。

构造方法

public String name;普通成员变量

public static int a;静态成员变量

1、访问的时候,建议通过类名.静态成员变量进行访问

2、静态的好处是,不需要实例化对象

3、(类变量)静态的成员变量,不存在于对象里面,在方法区。

public void sleep() {    //普通成员方法
        //static int b = 9;
        System.out.println(name+"睡觉!!");
    }
    public static void func() {     //静态成员方法
        //sleep();
        System.out.println("静态方法!");
    }
}

count调用是不需要对象的,不指向对象也可以调用

所有的普通变量和普通的成员变量需要通过对象的引用来进行调用。静态则不需要。

成员变量可以不初始化,他们所对应的值就是默认值。

在普通的成员方法当中,是否可以定义一个静态的成员变量? 不可以

1、sleep()方法  要被调用? Person p = new Person(); p.sleep();

2、静态的怎么调用?类名就可以。

静态方法的内部,不可以调用普通的成员方法。为什么?

静态方法本身的调用是不依赖于对象的。

普通方法中可以调用静态方法

Person person = new Person();//实例化一个对象

什么是封装?

语法层次上:字段和方法 都被private修饰,此时就说 把这个字段 或者 这个方法 进行了封装。

封装的意义:

1、安全

2、降低了对类的使用成本。

实例化对象一共需要两步:

1,为对象分配内存。

2、调用合适的构造方法。意味着构造方法不止一个。

构造方法:是一种特殊的方法,没有返回值,方法名称和类名是一样的

this 代表当前对象的引用。

this:1、调用属性  2、调用方法  3、调用构造方法

void 代表无返回值类型

代码块:本地代码块,实例代码块/构造代码块,静步代码块、同步代码块

本地代码块:方法内部定义的代码块{}

代码块的出现,只是为了在合适的时候处理有些数据。     

代码块的执行顺序:静态——实例——构造方法   

静态代码块优先实例代码块执行,实例代码块的执行先于构造方法。

 1、什么是类和对象,怎么来的?

2、什么是构造方法、分装、this?

3、代码块的前后执行顺序是怎样的?

复杂度:(衡量一个算法的效率的):

时间复杂度:算法中的基本操作的执行次数,为算法的时间复杂度。

 递归的时间复杂度 = 递归的次数 * 每次递归之后的操作次数 

 空间复杂度:临时占用存储空间大小的量度 ,空间复杂度算的是变量的个数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值