Java基础07

1. 静态

1.1 概述

1.关键字 static 
2.结论: 
	static修饰的成员变量,所有的对象都共享该变量。并且该变量随着类的加载而加载,并且只加载一 次。

在这里插入图片描述
代码:

public class Static静态 { 
	public static void main(String[] args) { 
		A a=new A(); 
		a.add(); 
		A a1=new A(); 
		a1.add(); 
	} 
}
class A{ 
	static int a; 
	int b; 
	public void add() { 
		a++; 
		b++; 
		System.out.println(a+":"+b); 
	} 
}

1.2 静态成员的调用

1.静态成员又称为类成员。 
2.调用格式: 
	类名.方法(参数)/属性

2. 继承

2.1 面向对象的特征

1.封装 
2.继承 
3.多态 
4.抽象

2.2 继承

1.学生类 老师类 工人类 
2.继承: 
	① 关键字: extends 
	格式: 
		class 子类 extends 父类{} 
	② 继承的好处: 提高代码的重用性
	③ 方法的重写: 
		1》前提: 当从父类继承的方法不满足子类自身需求的时候,需要重写父类的该方法。
		2》方法的重写: 
			在具有继承关系的子父类之间,在子类中,由于继承的方法不符合子类自身的要求,子类重写 父类方法,方法名称 参数列表 返回值类型都相同。
	④ super: 代表的是父类 
		格式 : 
			super.方法(参数)/属性 
		注意:
			this与super都不能存在静态方法中。
			当this或super作为指代构造方法时,必须在构造方法中,并且在第一行的位置。
			不能递归调用。
			无论子类的构造方法中是否显式指定了调用父类的构造方法,没有显式指定,调用的super(),也可以显式指定super(参数)
			有this无super。
			对于一个类的构造方法来说,如果有显式声明构造方法,一定要有一个无参的构造。
 - 不能继承的成员
	①通过private修饰的成员,不能被子类继承
	②构造方法不能被子类继承。
 - 继承的特点
	①单继承:子类只有一个父类
	②多层、重继承:子类可以进行多层的继承关系。
	

代码:

public class 继承 {
	public static void main(String[] args) { 
		Worker w=new Worker(); 
		w.age=1; 
		Teacher t=new Teacher(); 
		t.eat(); 
	} 
}
class Student{ 
	String name; 
	int age; 
	String stuNo; 
	public void eat() { 
		System.out.println("学生吃饭"); 
	}
	public void sleep() { 
		System.out.println("睡觉。。。"); 
	}
	public void study() { 
		System.out.println("think in java"); 
		System.out.println("good good study day day up"); 
	} 
}
class Teacher extends Person{ 
	String tNo;
	//员工编号 
	@Override //检测是否是重写方法。 
	public void eat() { 
		System.out.println("点外卖。。。。吃饭"); 
	}
}
class Worker extends Person{ }
class Person{ 
	String name; 
	int age; 
	public void eat() { 
		System.out.println("吃饭"); 
	}
	public void sleep() { 
		System.out.println("睡觉。。。。"); 
	} 
}
2.2.1 隐式三步
 - 隐式三步:构造方法执行之前有隐式三步。
	1). super()
	2). 构造代码块:{ }
	3). 显示初始化
	其中2,3按照代码的顺序执行。
	总结:
		对于具有继承关系的子类对象,1.先初始化继承父类的成员。每一个都要经历隐式三步,才会执行构造函数中的代码。
2.2.1 final关键字
1. final修饰的成员:
	① 类:不能被继承
	②方法:不能被重写
	③变量:常量
2. final	finally	finalize()
	finally	表示 无论是try还是catch最终必须被执行的操作。
	finalize() 表示对象垃圾回收的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值