类和对象

一、面向对象
OOP语言(面向对象的语言:c++,java)的三大特征:继承 封装 多态
面向对象:找对象,创建对象,使用对象
处理问题规模较大的

二、类
属性:定义在类的内部,在方法的外部。
属性(成员变量):1.实例数据成员(一个类可以实例化多个对象) 2.静态数据成员静态数据成员(static);
实例化一个对象之后,通过点号访问对象的数据成员;
Person per = new Person();
per.数据成员
静态数据成员或者方法访问:类名 + 点号。(不依赖于对象,不用new)
如果类当中的数据成员(无论实例静态)没有初始化的时候,默认值为对应的0值;
如果是引用类型:null; 如果是简单类型,那么就是0值。
char:\u0000 boolean:false
实例数据成员在栈区,可以复制多份;静态数据成员在方法区,只有一份。
静态方法内部不能直接访问实例数据成员及调用方法。
类的成员:字段(属性),方法(行为),代码块,内部类,接口等。

三、封装
访问修饰限定符:public 公有的 private 私有的
体现封装性:private 被private所修饰的属性或者方法,均不能在类外进行访问或者调用。

this:当前对象的引用
我们会发现在构造函数的内部,我们可以使用this关键字,构造函数是用来构造对象的,对象还没有构造好,
我们就使用了this,那this还代表当前对象吗?当然不是,this代表的是当前对象的引用。

构造方法—>作用???用来产生对象。
方法名和类名相同 ,没有返回值。
如果程序没有提供任何的构造方法,那么编译器会默认生产一个不带有返回值的构造方法。(默认的不带有参数的构造方法,只有一种情况下才会生成!即什么构造方法都没有的时候!)
构造方法可以发生重载(函数名相同,参数不同(类型,个数),返回值不做要求)

面试问题:生成一个对象共有几步? 2步。
1.给对象分配内存。 2.调用合适的构造方法。(不止一个)

this.成员变量
this.成员方法
this(); //调用构造方法,必须放在第一行,并且只能调用一个构造方法。

四、代码块
本地代码块–方法内部,但是不常用
实例代码块(构造块)–实例化实例数据成员
静态代码块–初始化静态的数据成员 (只执行一次
静态的先执行–>实例的后执行–>构造方法执行 (顺序和前后没关系)
静态代码块和静态数据成员–>和顺序有关

Object所有类的父类
如果当前没有重写Object的to String方法,那么当调用System.out.println();的时候,会默认调用Object的to String方法
如果当前类重写了Object的to String方法,那么就会调用重写的方法。

五、内容重点总结
1,一个类可以产生无数的对象,类就是模板,对象就是具体的实例。
2,类中定义的属性,大概分为几类:类属性,对象属性。其中被static所修饰的数据属性称为类属性, static修饰的方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。
3,静态代码块优先实例代码块执行,实例代码块优先构造函数执行。
4,this关键字代表的是当前对象的引用。并不是当前对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值