黑马程序员-day06-面向对象

------- android培训java培训、期待与您交流! ----------


面向对象(对象后的括号不能丢,调用对象的功能时,即使对象没有参数类型,后面的括号也不能丢)四个特点:抽象,多态,封装,继承
对象个体或具备一定功能的个体,存储在堆内存中,以new的形式产生
对个体事物具备的共性的描述,class定义的类
class abc
int long;
String color="red";
void run(){}
定义一个名称为abc的类,类中包含该事物的一些属性和行为,功能等,假设有long=5,color=red,行为功能名称为run
abc x=new abc()按照abc类,在堆内存中生成一个名称为x(名称存储在栈内存中,x为类类型变量,指向对象)的对象,该对象具备abc类的属性,功能,行为等
x.long=4对象.对象成员,该形式来控制对象的属性和行为,这里将对象长度更改为4
x.run控制对象运行行为
new abc()     匿名对象
匿名对象的使用当对对象的方法只调用一次时,可以使用匿名对象来简化代码,即:new abc().run
当需要调用对象的多个成员时,必须给对象起名字;
匿名对象还可以用来传递参数,减少引用,简化代码
类中可以没有函数用作调用对象属性
成员变量类下定义的一级变量,作用于整个类,存储于堆内存中,因对象的存在而存在,初始化值为0,null
局部变量作用于函数或者某语句,存在于栈内存,没有初始化值,必须定义才能使用
封装
encapsulation
隐藏属性和实现细节,仅对外提供公共访问方式
好处隔离变化,安全性,重用性,便于使用
原则不需要对外提供的内容,实现细节
隐藏属性,提供公共访问
private关键字:权限修饰符,用于修饰类中的成员(变量或函数)只在本类中有效,与public是相对应的。
类中属性一般需要封装提供访问其的公共方法,而不是直接访问
在方法中可以对其加以限制,编辑条件等
构造函数特点与类同名,没有返回值,不用定义返回值类型,多个以重载方式存在
作用给对象进行初始化,当发现事物具备一些特性或行为,那么将这些定义在构造函数中
细节未定义构造函数,系统会自动加上一个空参数的构造函数,权限与类相同,若定义了,则不会。
运行对象一建立便执行,仅执行一次
构造代码块特点没有名称,直接用大括号括起来
运行优先于构造函数,且作用于所有建立的对象
主函数public static void main(String[] args)格式固定,只有args可以任意更改
关键字含义public:表示该函数的访问权限是最大的
static:主函数是静态的,随着类的存在而存在
void:主函数没有具体的返回值
main:主函数的名称,固定
String[] args:参数类型为字符串数组类型
jvm调用传入的是 new String[0]
建立对象的内存过程1,因为new一个对象需要用到类名.class文件,虚拟机会先找到class文件加载进内存
2,执行该类的static代码块,对类进行初始化
3,在堆内存中开辟空间,分配内存地址
4,在堆内存中建立对象的特有属性,并进行默认初始化(0,null等)
5,对对象的属性进行显示初始化(即如果有的话,类似于赋值:int x=1)
6,执行类中的构造代码块,给对象初始化
7,对对象进行相应的构造函数初始化
8,将内存地址值赋给栈内存中的建立的类变量名




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值