杂杂

来源:互联网 发布:王凯武汉话古惑仔知乎 编辑:程序博客网 时间:2024/06/08 18:45

什么时候使用静态函数?

如果你定义的类,使用过程中,从来都没有用到这个类封装的特有数据,这时候考虑到,为了让代码更加严谨,所以我们是不需要对象的.,所以就可以考虑将这个类中的方法都定义成为static,直接通过类名进行调用就可以了.将方法静态化以后,虽然方便使用了,但是这个类还是可以创建对象,为了更加的严谨,这时候可以通过将构造函数私有化来完成.这样这个类就只能够调用其静态方法,而不能够进行对象的创建了.


类中默认构造函数?

默认构造函数和类的权限一致,默认构造函数是看不见的,如果你写了一个空的构造函数,那么这个构造函数就已经不是默认构造函数了.

静态代码块?

特点是随着类的加载而执行,并且只执行一次.

类实例化一个对象,在内存中是如何操作的?

1, 先把类class文件加载到内存中

2.执行该类中的static代码块

3.在堆内存中开辟空间,分配内存地址

4.在堆内存中建立对象的特有属性,并进行默认初始化

5.对属性进行显示初始化

6,对对象进行构造代码块初始化

7,对对象进行对应的构造函数初始化

8,将内存地址付给栈内存中的变量


方法区?里面分静态区 和常规区

优先于对象存在 所以比堆先开辟出来

里面先试静态变量 静态方法 然后常规方法

你调用一个对象的方法的时候,需要在栈里面开辟了一个空间,然后是方法的代码


设计模式:

解决某一类问题最为行之有效的方法

java中有23种设计模式

单例设计模式 

解决一个类在内存中只存在一个对象

想要保证 对象唯一

1.为了避免其他程序过多的建立该类对象,先禁止其他程序建立该类对象 

2.为了让其他程序可以访问到该对象,所以在本类中新建一个对象

3.但是这个类还是要能够使用的,所以要对外提供一种访问方式

构造函数为private 然后new一个对象
向外提供一个方法可以访问这个对象
以为使用方法只有两种方式,通过对象来使用方法,使用类方法,
但是这个类是单例的 所以只能够通过使用类方法来访问 所以把get方法设置为public static 因为静态方法只能调用静态变量
所以把这个new出来的对象设置为private static 


对于事物该怎么描述还怎么描述

当需要将该事物的对象保证在内存中唯一时,就将以上的三部加上就可以了


构造函数之间的调用,不能直接就用类名();这种方式调用,需要用this()这样子来调用
this语句用于构造函数之间来互相调用

this语句只能放在构造函数的第一行 因为东西使用要初始化

继承

注意:千万不要为了获取其他类的功能,简化代码而继承

必须是类与类之间有所属关系才可以继承 所属关系is a

就跟为了继承他人的物品 然后管人家叫爹 这他妈你能答应?


Genymotion Eclipse 无法识别

Eclipse无法识别,关闭genymotion模拟器,打开任务管理器,进程里面吧adb.exe关闭,重启模拟器.齐活

android 高版本无法连接网络

android4.0版本以后,获取数据不能直接在主线程里面操作.需要新开线程,新手需注意新开线程记得start().好吧 我就是新手一枚.  困扰了两个钟 终于搞掂了.


java 继承 父类 子类 私有属性

最近在写程序时遇到一个问题,在子类中是不能够调用到父类的私有方法的.
那到底子类有没有继承了父类的私有属性和方法?

java 规范中的“继承”概念,指的是:在子类中是否可以直接访问该资源,
父类 private 的东西,在创建子类的实例的时候,默认会调用父类的默认构造函数,所以在内存中是存在父类中的私有属性和方法的,子类的实例可以看成是父类所有属性和方法加上子类自有的属性和方法的集合体,但因为是私有属性,所以你不能在子类中“直接访问”.构造子类之前,先构造父类,默认调用 父类的无参构造方法。父类没有无参构造会出错的
A subclass does not inherit the private members of its parent class However, if the superclass has public or protected methods for accessing its private fields, these can also be used by the subclass. 



0 0
原创粉丝点击