初识JAVA2(数组、类、对象、构造器)

来源:互联网 发布:三星智能电视直播软件 编辑:程序博客网 时间:2024/06/08 05:28

4.
1): 位运算和短路运算符是不一样的,&&(短路与)是当左边为false就会停止,右边不会运行,||(短路或)是左边为true右边不运行,而&和|不是,一定会运行两边的。
2): +出现的位置是很重要的,如下:
int a=2;
System.out.println(a+1+”HHH”);结果是3HHH;
System.out.println(“HHH”+a+1);结果是HHH21;

5.数组
1):
这里写图片描述
2):堆内存中的对象不会随着方法的结束而销毁,除非当一个对象没有任何一个引用变量去引用它,那么系统垃圾回收机制会在合适的时候回收它。
3):数组变量和数组元素是分开存放的,所以数组一定是引用类型,不是基本类型,像int这种基本类型,就存放在栈内存中,里面存的不是地址,就是自身的值。
4):for each循环是只读的,不可以改变数组元素的值,但是for循环可以。(不过for each速度极快。)定义格式见例子:
这里写图片描述
5):得到数组长度使用的是length属性,而不是length方法。
6):java.util.*包下的函数Arrays.sort(数组名),提供升序排序,底层原理是冒泡。
7):System.arraycopy(数组a名字,从a的某下标开始,数组b名字,从数组b的下标开始,复制位数的个数)。
五个参数,将a数组的值复制到b中, 注意不要溢出,被操作的个数不能越界。
8):java中没有真正的二维数组,只有数组的数组。
这里写图片描述

6Java类、对象、构造器
1): 记住基本特征对应的单词
封装(Encapsulation),继承(Inheritance),多态(Polymorphism)。
2):类的内部成员,属性和方法、构造器。
3):构造器(Constructor);
这里写图片描述
括号里带形参是非默认构造器,没有的是默认构造器。
构造方法的特征:
它与类具有相同的名称;
它不含返回值: void ;
它不能在方法中使用return ;
这里写图片描述
4):实例化的时候(用类声明对象),注意你的构造器种类,没有默认构造器你就不能用默认构造器去初始化,非默认同理。
5):
这里写图片描述
6):对象的生命周期
这里写图片描述
右上角,person对象已经没有变量指向它了,它会成为垃圾被回收;左下角的person,虽然一开始指向它的p1为null了,但是还有个p2指向它,所以不是垃圾。

7Java隐藏、封装、访问控制、引用数据类型、引用类型的值传递
1):Encapsulation:信息的隐藏封装。
2):声明引用类型变量的时候,系统只为该变量分配引用空间,并未创建一个具体的对象。
3):80%的引用类型都是值传递,但是也有直接传地址的,即引用传递。

8继承、访问控制、覆盖、包
1)类的方法可以被继承,构造器不能被继承。
2)一个类只能继承一个直接父类,这种方法叫单继承,跟c++不同。
3)java.lang.Object类是所有类的父类。
4) import java.awt.*
import java.awt.event.*
上面里包含的类并不一定比下面的多,import java.awt.*只是说可以使用awt里面所有的类,这句话并不是说能使用awt目录下子目录里的类。

5)Java.lang是个默认包不许要手动import,里面包含了一些java语言的核心,有String, Math ,Integer , System ,Thread。
6)
这里写图片描述
7)
这里写图片描述
default在java是默认的意思,例如:String name;就这样声明一个字符串对象,前面没有任何的修饰符,就是默认类default。
protected允许跨包使用,default不行。
8)大部分的构造器都用public修饰。
9)一般类只有两种类,公共类和默认类,没有私有和保护类。但是在name类中允许有后两种。
10)方法的覆盖(重写)英文override。
11)
这里写图片描述
后三点以后会提到。
12)如果子类里的有个重写的方法,可是实例化后,又想让这子类的对象调用父类的此方法,就用super.xxx();其中的super就代表父类。(既然能用“.”,说明super肯定是个对象)
13)虽然构造器不能被继承,但是子类仍然可以使用父类的构造器,办法就是在子类里的构造器里,用super(形参);这样就可以了。
这里写图片描述

0 0
原创粉丝点击