城管希课堂之代码块和继承

代码块分为四种

1.局部代码块(想到方法)

书写位置:方法中

作用:限制作用域

2.构造代码块

书写位置:类中方法外

代码的执行顺序:

    1.系统调用的

    2.只要创建对象 就会调用

    3.构造代码块 在 构造方法之前被调用

    作用:当你有方法 需要每个对象都调用的时候

            可以将这个方法 在构造代码块中调用(不常用)            

3.静态代码块

使用关键字static 修饰的代码块

位置:类中方法外

调用顺序:

    1.随着类的加载而加载

    2.只加载一次

    3.在构造代码块之前执行

应用场景:

加载驱动(U盘驱动)

4.同步代码块(多线程部分)



public class Demo01 {
	public static void main(String[] args) {
		//jubu();
		Person p1 = new Person();
//		p1.name = "彭前";
//		p1.sayHi();
		
		Person p2 = new Person("萧峰",10);
//		p2.sayHi();
				
		
	}

	private static void jubu() {
		{
			//局部代码块可以 限制变量的作用域 
			int num = 10;	
		}
		//System.out.println(num);
	}
}
//  暴力调试法
//  小黄鸭调试法(逻辑调试)
class Person{
	String name;
	int age;
	//无参和有参的构造方法
	public Person(){
		System.out.println("我是无参的构造方法");
		
	}
	public Person(String name,int age){
		this.name = name;
		this.age = age;
		System.out.println("我是有参的构造方法");
	}
	//介绍自己方法
	public void sayHi(){
		System.out.println(name+".."+age);
	}
	//吃
	public void eat(){
		System.out.println("人--吃饭");
	}
	//构造代码块
	{	
		this.eat();
		System.out.println("我是构造代码块");
	}
	
	//静态代码块
	static {
		System.out.println("我是 静态代码块");
		
	}
}



继承!

好处:

1.减少代码量(代码的复用性)

2.提高工作效率

3.增强类与类之间的关系(让类和类之间的关系更紧密)

弊端:

1.调高内聚 希望一个类中 方法与方法之间联系加强

2.降低耦合 希望类与类之间 减少联系


java中只允许单继承(类与类)(可以通过接口实现多继承)

java中还允许多层继承(继承链)


 * 当你想只使用共有方法和属性 使用哪个类的对象?
 * 一般选择 使用继承链 最顶端的类
 * 当你想使用特有方法和属性 使用哪个类的对象?
 * 一般选择 使用继承链 最末端的类
 * 
 * 如果一个类没有写继承 那么这个类 默认继承 Object类(基类)
public static void main(String[] args) {
		DemoA a = new DemoA();
		// 当我直接打印对象时候 
		// 相当于调用的 Object类中 toString方法
		// 思考 toString方法有啥用
		System.out.println(a);
	}

 * 继承中的 构造方法
 * 注意:构造方法是不能继承的
 * 
 * 当创建子类对象的时候 为了保证继承的完整性
 * (不管你在 创建子类对象的时候 使用的是 无参还有有参构造)
 * 系统会默认帮你调用 父类中的 无参构造方法
 * super 和 this
 * super 在子类中代表是 父类的对象
 * this 在子类中可以调用子类的属性 和 方法
 * (当子类中没有这个属性 或方法的时候 就去父类中寻找 找到就用 没找到就报错) 

* 关键字 final(绝育)
 * 1.修饰方法 方法不能被重写
 * 2.修饰类 类不能被继承
 * 3.修饰变量 变量不能修改
 *     final 修饰引用数据类型 
 *     		不能进行重新指向(地址不能修改)
 *     		对象中的属性不会影响修改

* 方法重载(Overload)(在一个类中进行) * 方法重写(Override)(前提:至少两个类中 并且还要有继承关系) * 方法的重写 作用:相当于 对 父类的该方法 进行升级 * 重写:跟父类的方法 完全一致


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值