Java基础学习(4)
类和对象
面向对象概述
封装
将对象的属性和行为封装起来,对客户隐藏实现细节。
继承
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
多态
指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。
类
成员变量
private String name;定义一个String 型的成员变量
public String getName()
{
int id=0;
setName(“Java”);
return id +this.name;
}
private void setName(String name)
{
this.name=name;
}
成员方法
权限修饰符 返回值类型 方法名(参数类型 参数名){
...//方法体
return 返回值
}
权限修饰符
private 本类可见
protected 同包其他类或子类,包裹本类可见
public 其他包的类或子类,包括同包其他类或子类和本类可见。
局部变量
public String getName()
{
int id=0;
setName(“Java”);
return id +this.name;
}
局部变量在方法被执行时创建,在该类执行结束时被销毁。局部变量在使用时必须进行赋值操作或被初始化。
局部变量的有效范围
个人观点在{}范围内有效
this关键字
private void setName(String name)
{
This.name=name;//使用this关键字来代表本类对象的引用。
}
public Book getBook()
{
Return this;//返回book类的对象
}
类的构造方法
public book()//无参构造方法
{
//...构造方法体
}
1、构造方法没有返回值
2、构造方法的名称要与本类的名称相同。
//有参构造方法
public book(String name)
{
}
静态变量、常量和方法
由static修饰的变量、常量和方法被称为静态变量、常量和方法;
静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。
在静态方法中不可以使用this关键字。
在静态方法中不可以直接调用非静态方法。
类的主方法
public static void main(String[] args)
主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的。
主方法没有返回值。
主方法的形象为数组。其中args[0]~args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length获得参数的个数。
对象
对象的创建
Test test=new Test();
访问对象的属性和行为
对象.类成员
对象的引用
Book book;
对象的比较
== 比较引用地址是否一致
equals 比较内容是否一致
对象的销毁
1、对象引用超过其作用范围,这个对象将被视为垃圾;
2、将对象赋值为null,
Java 垃圾回收,java 回收机制只能回收那些由New 操作符创建的对象,如果不是new创建对象,不能被垃圾回收机制识别,所以java提供了finalize(),这个方法,是Object类的方法,被声明为protected,用户可以在自己的类中定义这个方法。
注:垃圾回收或finalize()方法不保证一定会执行,当虚拟机内存耗尽时,不会执行垃圾回收。
由于垃圾回收不受人为控制,具体执行时间也不确定,所以finalize()方法也就无法执行,为此,java提供了System.gc()方法强制启动垃圾回收器。