总结20120705

一、类与对象

1. 类:   将具有相同属性和相同心行为的对象称为类。

2. 对象:是具体存在的实体,有明确的特征和行为

类是对象的抽象,对象是类的实例

3.定义一个简单学生类,以及定义类的方法

访问限定符() class 类名{

//类中的方法

  访问限定符 返回值 方法名(参数类型 变量名,……){

方法体……

  }

}

	public classs Demo{
		public void print(){
			System.out.println("hello java");
		}
	}
 

4,类的实例化

我们通过创建类的对象(类的实例化),调用类中的方法。方法为:“类名  变量名 = new 类名();”

方法的调用:变量名.方法名(参数);

例如,

//类的实例化

Demo test = new Demo();

//通过实例化调用方法

test.print();

5.构造方法的重载与方法的重载

5.1构造方法

通过类创建对象,如Student stu = new Student(); Student()是Student的构造方法,每个类默认的是无参的构造方法。

public class Student{
  //默认的无参构造函数
  Public Student(){
  }
  //构造方法的重载,当实例化"Student stu = new Student("raidyue"):"时调用                         //重载的构造方法
  Public Student(String name){
  This.name=name;
  }
} 
 

注意:1,重载的构造方法必须与类名向同

 2,构造方法可由不同的访问限定符修饰

 3,构造方法没有返回值类型

 

5.2方法的重载

在一个类中,当方法的参数类型和个数不同时允许方法名相同

构造方法没有返回值,切其名字必须与类名相同,只在实例化对象是自动调用

6.值传递和引用传递

值传递:方法调用时,实际参数把值传递给形式参数,方法执行中形式参数的值不改变实际参数的值

例如,

public class Test1{

			public static void main(String[] args){
				int n=10;
			System.out.println("调用change以前的n是"+n);
			change(n);
			System.out.print("调用change以后的n是"+n);
			public static void change(int n){
				n=10;
			}
			}
		}
 结果:调用change以前的n是3

 调用change以后的n是3

引用传递:引用传递实际上传递的是地址。方法调用时,实际参数的地址被传递给对应的形式参数,方法执行的过程中,对形式参数的操作实际是就是对实际参数的操作,即此时的形式参数改变,实际参数也会相应的改变。

例如,

public class Student {

	private String name;
	public static void main(String[] args){
		Student st1 = new Student();
		st1.setName("第一个");
		Student st2 = new Student();
		st2.setName("第二个");
		Student st3 = new Student();
		st3.setName("第三个");
		//交换
		st1=st2;
		st2=st3;
		st3=st1;
		String name = st3.getName();
		System.out .println("st3's name is "+name);
	}
	public void setName(String n){
		name = n;
	}
	public String getName(){
		return name;
	}
}
 结果是:st3's name is 第二个

类的继承

1.继承

某种情况下,为了提高效率,我们使用继承,子类继承父类的所有方法和属性,子类可以定义心得属性和方法,也可以使用父类的方法。

特点:

Java中不支持多重继承,一个子类只能有一个父类。

继承是传递的,若A继承了B,B继承了C,则A会继承B和C的所有属性和方法,A也可以定义自己的属性和方法。

关键字是   extend

public class A{

……

}

public class B extend A{

……

}

方法的重写

保持父类中方法的定义不变,在子类中修改其方法体,

自动转型

一个子类的对象可以自动的转型为父类对象,比如定义一个类“public class Student”,再定义一个大学生类继承它,“public class UNStudent extends Student”,实例化,“Student uns = new UNStudent();”此时子类对象自动转为父类对象。

接口

定义:public interface 接口名,接口中的中的函数不能有函数体,只能有函数的定义

实现:public class 类名 implements(实现接口的关键字)  接口名{

        ……

       }

接口的继承:接口与接口之间可以通过extends关键字实现继承,与类的继承不同的是,一个接可以继承多个接口

抽象类

抽象类是不能被实例化的类,可以不包括抽象方法(没有方法体的方法),其定义方法是

   public abstract class 类名{

   }

当子类的父类值抽象类时,无论父类中有多少方法,子类都必须实现


猜你喜欢

转载自raidyue.iteye.com/blog/1577223
今日推荐