- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象:
概念:相对于面向过程而言。是一种思想,强调的是功能的对象。
举例理解面向对象:
如请人修车,我只面向修车的人,不面对修车的过程。只看中修好车的结果。
面向对象的本质:以类的方式组织代码,以对象的方式组织数据。
匿名对象
*/
//匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。new Car().run();
//如果对一个对象进行多个成员调用,必须给这个对象起个名字。
//匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。 show(new Car());
构造函数,构造代码块
构造函数 : 对象一建立就会调用与之对应的构造函数.
构造函数的作用: 可以用于给对象进行初始化
一个对象建立,构造函数只运行一次。
对象名{ 参数列表}
给与之对应的对象进行初始化。它具有针对性。
构造代码块 : static{ },或 {} 给所有的对象进行初始化
Person p=new Person();
在
面向对象三大特征: 封装 继承 多态
封装:隐藏对象属性和细节 ,只对外提供方式 get()
重载和重写:
重载:只看同名函数的参数列表
重写:字符类方法要一模一样。
This 哪个对象在调用this所在的函数,this就代表哪个对象。
调用格式:this(实际参数);
this对象后面跟上 . this.name调用的是成员属性和成员方法(一般方法);
this对象后面跟上 () this(“哈哈”)
调用的是本类中的对应参数的构造函数。
static★★★: 静态修饰的成员,可以直接被类名所调用 ,想要实现对 象 中的共性数据的对象共享。可以将这个数据进行静态修饰。
静态随着类的加载而加载。而且优先于对象存在。
, 静态方法只能访问静态成员,不可以问 非静态成员。
静态方法中不能使用this,super关键字。
静态的利于弊”
利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份
可以被类名调用
弊:生命周期过长
访问出现局限性(静态只能访问静态)
实例变量和类变量的区别
1.存放位置:类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而寻在于堆内存中
2.生命周期
类变量生命周期最长,随着类的消失而消失
实例变量生命周期随着对象的消失而消失
Person p = new Person(zhangsan,20);
该句话都做了什么事情?
1,因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。
2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。
3,在堆内存中开辟空间,分配内存地址。
4,在堆内存中建立对象的特有属性。并进行默认初始化。
5,对属性进行显示初始化。
6,对对象进行构造代码块初始化。
7,对对象进行对应的构造函数初始化。
8,将内存地址付给栈内存中的p变量。
执行优先级
静态代码块初始化----默认初始化------显示初始化------构造代码块初始化----构造函数初始化
设计模式
饿汉式:一进内存 就创建了对象
class single{
private single(){}1.将构造函数私有化
private static single s=new single();2.在类中创建一个本类对象
public static single getInstance(){3.提供一个方法可以获取到该对象的方法
return s;
}
}
public class SingleDemo {
public static void main(String[] args) {
single ss=single.getInstance();
}
}
*****懒汉式:什么时候调用什么时候创建对象,对象的延时加载
class single{
private single(){}
private static single s=null;
public static single getInstance(){
if(s==nul
原创力文档


文档评论(0)