五 java类和对象

面向对象程序设计特点:封装性,继承性,多态性

类:

  1. 成员变量:在Java中对象的属性也称为成员变量。成员变量就是普通的变量,可以为它设置初始值,也可以不设置初始值。如果不设置初始值,会有默认值。
  2. 成员方法:权限修饰符 返回值类型 方法名(参数类型 参数名){方法体 return 返回值;}。Java中的成员方法无返回值,可用void来表示。如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行,即隐藏成员变量。
  3. 权限修饰符:private public protected
访问包位置 private protected public
同包其他类或子类 不可见 可见 可见
其他包的类或子类 不可见 不 可见 可见
本类 可见 可见 可见
  1. .局部变量:在成员方法中定义的一个变量。局部变量是在方法被执行时创建的,在方法执行结束后释放。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。
  2. 局部变量的有效范围:从该变量的声明开始到该变量的结束为止。
  3. this关键字:可以调用成员变量和成员方法。将形参的值赋给成员变量。this引用的就是本类的一个对象。在局部变量或者方法参数覆盖成员变量时,就要添加this关键字。明确引用的是类成员还是局部变量或方法参数。

类的构造方法

构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。
特点:

  • 构造方法没有返回值
  • 构造方法的名称要与本类的名称相同

静态变量 常量 方法

  1. static关键字:由static修饰的变量,常量,和方法被称作静态变量,常量,静态方法。被声明为static的变量,常量方法被称为静态成员。静态成员区别于个别对象,可以在本类或其它类使用类名和.运算符调用静态成员。
    语法:静态.静态类成员
  2. 静态方法在静态方法中不可以使用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

猜你喜欢

转载自blog.csdn.net/qq_41520877/article/details/103058492