JAVA自学_面向对象01

一、定义:

  找,拿东西过来编程;找个东西来辅助解决问题;学会自己设计东西来解决——面向对象的语法

  对象用于模仿现实世界中的一些对象,具有状态和行为——(这里我们编程往往使用的是软件对象)

  类是对象的软件模型,是一个抽象定义,一个模板。——类里面写的是颜色,到具体对象中就变成了黑色。

二、基础语法:

  创建对象首先创建类——对象共同特征的描述(类似于结构体)

  类的声明:public class 类名{1成员变量(代表属性,一般是名词)2成员方法(代表行为)3构造器 4代码块 5内部类}——IS(类名习惯大写开头),HAS(变量),DOSE(方法)

       声明类的修饰符+说明该类的父类+说明该类所实现的接口(class关键字和类名是必须的

  类的对象:类名 对象名 = new 类名();  相当于使用这个结构体,new一个名字——类似链表的定义结构体你写好了(类),你Lnode L,这个L就是这个类之下的对象(它也是一个结构体)

  使用对象:对象名.成员;对象名.方法名();

ps:两个对象之间进行联系或者交互需要使用消息功能(即对另一个对象中的方法进行调用),接收消息的对象具有足够的信息才能响应,这些信息规范即二者之间的接口。

三、注意事项:

  类名的首字母建议大写,驼峰,不含关键字  一个文件中可含有多个class类,但只能一个类是public修饰,且public的类名必须是文件名(但建议一个文件只定义一个类)

  成员格式:修饰符 数据类型 变量名称(默认值为null 不用在类中赋值)  

  实例成员与类成员的区别:所有类的对象都可以共享类成员,类成员往往是大家都恒定的某个特征。即Static静态成员变量

四、对象在内存中的运行机制:

  首先,三个区——方法区,栈内存,堆内存。

  ps:new出来的对象在堆内存中,且对于成员方法仅仅放置引用地址;对象名实际上存的是对象在堆内存中的地址,根据地址更改堆内存中的成员值,对于方法利用引用地址调到栈内存中执行

  c1,c2像指针一样。

  

总结:对象实际放在堆内存中,它的名字放在栈内存中存的是地址,成员中方法利用引用地址放在方法区。

ps:两个变量指向同一个对象内存:

  s2=s1;——将s1的地址复制给了s2罢了。

垃圾回收:当堆内存中的对象没有任何对象名(变量)引用它的时候,JAVA会自动定期清理对象。

 对象名也可以作为数组名  alt+回车——可以把你想创建的方法自动创建出来  写for循环时可直接shopcar.fori快捷出现

posted @ 2022-04-06 18:26  dreamLucode  阅读(25)  评论(0)    收藏  举报