java编程入门9 类与对象
面向对象编程三大特性
1.封装
1)也就是把客观的事物封装成抽象的类,并且类可以把自己的属性方法只让可信的类和对象操作,对不可信的隐藏内部细节。
2)类通常对客户隐藏其实现细节。
3)采用封装的思想保证了类内部数据结构的完整性。
2.继承
1)派生类(子类)可以通过继承基类(超类或父类)来拥有基类的所有属性和行为
3.多态
1)指在一般类中定义的属性和行为,被特殊类继承后,可以拥有不同的数据类型或表现出不同的行为,这使得同一个属性或行为在一般类及其各种特殊类中拥有不同的语义。
2)多态的实现方法包括方法的重载,方法的覆盖,对象的调用。
类的构造方法
1.构造方法的方法名与类名相同,构造方法没有返回值。
2.构造方法是在用户创建对象时,有系统自动调用执行。
3.如果类中没有明确定义构造方法,编译器会自动创建一个不带参数的默认构造方法。
4.如果类中显示的定义了构造方法,那么java编译器不会再为你定义一个默认的构造器。
类的主方法
1.主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length获取参数的个数
public static void main(String[] args) { System.out.println(args.length); for(int i=0;i<args.length;i++) { System.out.println(args[i]); } }
2.在Eclipse中设置程序参数的步骤如下
1)在Eclipse中,在包资源管理器中右击项目名称,在弹出的快捷菜单中选择Run As/Run Configrations命令,弹出Run Configrations对话框。
2)在Run Configurations对话框中选择Arguments选项卡,在Program arguments文本框中输入相应的参数,每个参数按Enter键隔开
对象的销毁
1.每一个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址将会被回收。在其他语言中需要手动回收废弃的对象,但是java拥有一套完整的垃圾回收机制。
2.对象在以下两种情况会被java虚拟机视为垃圾
1)对象引用超过其作用范围
2)对象被赋值为null
3.虽然垃圾回收机制已经很完善,但垃圾回收器只能回收那些有new操作符创建的对象。如果某些对象不是通过new操作符在内存中获取一块内存区域,这种对象可能不能被垃圾回收机制所识别,所以在java中提供了一个finalize()方法。
4.finalize()方法是Object类的方法,被声明为protected,用户可以在自己的类中定义这个方法。如果用户在类中定义了finalize()方法,在垃圾回收时会首先调用该方法,在下一次垃圾回收动作发生时,才能真正回收被对象占用的内存。
5.垃圾回收或finalize()方法不保证一定会发生,如java虚拟机内存损耗待尽时,它是不会执行垃圾回收的。
6.java提供了System.gc()方法强制启动垃圾回收器。
2018-12-07