标签:
1.对象:在一个确定问题领域的抽象
属性:隐藏,封装,继承,多态
封装:指的是将对象的状态信息(属性)和行为(方法)捆绑为一个逻辑单元的机制。
隐藏:对对象的方法和属性进行一个保护,外部程序不能直接访问。
继承:不能对父类的私有属性和方法进行继承,而且只支持单继承,但是可以多实现
2.抽象类不能创建对象
3.子类在创建对象时,会调用父类的构造方法(子类的构造方法里,通过父类去查看构造方法是怎样定义的),但是不会创建父类对象。
4.构造方法(编译器会决定调用哪个构造方法):构造方法最好显式的写上,便于程序维护。
(1)语法:
①名字需要和类名一样
②构造方法不能有返回值的概念
(2)作用:
给堆内存中所指定对象的属性进行初始化
(3)个数:
至少一个
编译器决定调用哪个构造方法,并根据参数列表来决定使用哪个构造方法
(4)如果在类中没有自定义构造方法,则会使用一个默认的构造方法,
但是如果只要定义了一个构造方法,则没有了默认的构造方法。
(5). 构造方法的权限可以私有化
(6) 构造方法是由虚拟机调用
5.实体类一般是没有main方法的,测试类中一般放主方法。
在测试类中,在测试类中访问实体类中属性方法,要看实体类的属性,方法权限。
6.包的声明:将类的字节码放在包对应的目录结构中。
打包编译:javac -d . name.java
包导入:找到类
7.引用类型的在堆中默认是开辟4个字节空间,默认初始化是null
8.当创建一个对象时,会在堆内存空间中开辟属性空间,方法空间,引用类型的空间内存大小都是4个字节,而其他基本类型的内存依据数据类型来划分空间大小。
9.内存图分析:
标签:
原文地址:http://www.cnblogs.com/jxtty2016/p/5550474.html