面向对象程序设计特点:封装性,继承性,多态性
类:
- 成员变量:在Java中对象的属性也称为成员变量。成员变量就是普通的变量,可以为它设置初始值,也可以不设置初始值。如果不设置初始值,会有默认值。
- 成员方法:权限修饰符 返回值类型 方法名(参数类型 参数名){方法体 return 返回值;}。Java中的成员方法无返回值,可用void来表示。如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行,即隐藏成员变量。
- 权限修饰符:private public protected
访问包位置 | private | protected | public |
---|---|---|---|
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不 可见 | 可见 |
本类 | 可见 | 可见 | 可见 |
- .局部变量:在成员方法中定义的一个变量。局部变量是在方法被执行时创建的,在方法执行结束后释放。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。
- 局部变量的有效范围:从该变量的声明开始到该变量的结束为止。
- this关键字:可以调用成员变量和成员方法。将形参的值赋给成员变量。this引用的就是本类的一个对象。在局部变量或者方法参数覆盖成员变量时,就要添加this关键字。明确引用的是类成员还是局部变量或方法参数。
类的构造方法
构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。
特点:
- 构造方法没有返回值
- 构造方法的名称要与本类的名称相同
静态变量 常量 方法
- static关键字:由static修饰的变量,常量,和方法被称作静态变量,常量,静态方法。被声明为static的变量,常量方法被称为静态成员。静态成员区别于个别对象,可以在本类或其它类使用类名和.运算符调用静态成员。
语法:静态.静态类成员 - 静态方法:在静态方法中不可以使用this关键字,不可以直接调用非静态方法。在Java中不能将方法体内的局部变量声明为static。
类的主方法
语法格式:
public static void main(String [] args){
}
特性:
- 主方法是静态的,所有如果要直接在主方法中调用其他方法,则该方法必为静态。
- 主方法没有返回值
- 主方法形参为数组,其中args[0]-args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length来获取长度。
对象
- 对象的创建:
在JAVA语言中通过new操作符来创建对象
Test test = new Test();
Test test = new Test("a");
- 访问对象的属性和行为:通过对象名.类成员来获取对象的属性和行为。
public class A{
int i=47;
public void call(){
System.out.println("调用call()方法");
for(int i=0;i<3;i++){
System.out.println(i+" ");
if(i==2){
System.out.println("\n");
}
}
}
public A{
}
public static void main(String [] args){
A t1 =new A();
A t2 =new A();
t2.i=60;
System.out.println("第一个实例对象调用i结果:"+t.i++);
t1.call();
System.out.println("第二个实例对象调用i结果:"+t2.i);
t2.call();
}
}
- 对象的引用:类名 对象引用名称
Book book=new Book();
- 对象的比较:== 和 equals()方法
public class Compare{
public static void main(String[] args){
String c1=new String("abc");
String c2=new String("abc");
String c3=c1;
System.out.println("c2==c3运算结果"+(c2==c3)); false
System.out.println("c2.equals(c3)结果为"+(c2.equals(c3))); true
}
}
- 对象的销毁:java拥有一套完整的垃圾回收机制,会自动回收无用却占内存的资源。
哪种对象会被Java虚拟机视为垃圾: - 对象引用超过其作用范围
- 将对象赋值为空null