Java学习笔记(二)

16_this的使用方法

1.在构造函数中用this调用其它的构造函数时,对this的调用必须是该构造函数中的第一条语句。

public class Person {
	String name;
	int age;
	String address;
	
	Person() {
		System.out.println("无参数的构造函数");
	}
	
	Person(String name,int age) {
		this();
		this.name=name;
		this.age=age;
		System.out.println("两个参数的构造函数");
	}
	
	Person(String name,int age,String address) {
		this(name,age);
		this.address=address;
		System.out.println("三个参数的构造");
	}
}
public class Test_this {

	public static void main(String[] args) {
		Person p1 = new Person("小明",20,"哈尔滨");
	}
	
}


17_static关键字的作用

1.小结

A.静态成员变量只有一份
B.在静态函数中只能使用静态变量
C.静态代码块的主要作用是为静态成员变量赋值

public class Person {
	static String name;
	
	static{
		System.out.println("这里是静态代码块");
	}
	
	static void talk() {
		System.out.println("my name is:" + name);
	}
}
public class Test_this {

	public static void main(String[] args) {
		Person p1 = new Person();
		Person p2 = new Person();
		
		Person.name = "xiaoming";
		System.out.println("p1's name:" + p1.name);
		System.out.println("p2's name:" + p2.name);
		
		p1.name = "xiaohua";
		System.out.println("p1's name:" + p1.name);
		System.out.println("p2's name:" + p2.name);
	}
	
}


18、19、20小结:

1.继承:

Java只支持单继承,不允许多继承(即:一个子类只能继承一个父类,但一个父类可以有多个子类)。

只能继承成员变量和成员函数,不能继承构造函数。


2.构造函数:

在子类的构造函数中,必须调用父类的构造函数。

super()的用法(用在子类调用父类的构造函数时)和this()相同(三点)


3.复写(Override):
A.在具有父子关系的两个类中
B.父类和子类各有一个函数,这两个函数的定义(返回值类型、函数名和参数列表)完全相同

public class Person {
	int age;
	String name;
	
	Person(){
		System.out.println("Person的构造函数");
	}
	
	Person(String name,int age) {
		this.name = name;
		this.age = age;
	}
	
	void introduce(){
		System.out.println("我的年龄是:" + age + ",名字是:" + name);
	}
}
public class Student extends Person {
	String grade;

	Student() {
		//super();  在子类的构造函数中,必须调用父类的构造函数(不写的话,系统会自动调用)
		System.out.println("Student的构造函数");
	}

	Student(String name, int age, String grade) {
		super(name,age);
		this.grade = grade;
	}

	void introduce() {
		System.out.println("\n我的年级是:" + grade);
		super.introduce();
	}
}
public class Test_this {

	public static void main(String[] args) {
		Person p1 = new Person("xiaohua",19);
		Student s1 = new Student("xiaoming",18,"大三");
		
		p1.introduce();
		s1.introduce();
	}
	
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值