每周总结7

每周总结7

写无参是好习惯,不然像子类继承父类,其构造方法默认加上的第一行super()会调用父类的无参,如果没有那就会报错了。

里氏替换原则,子不改父,子类可以扩展,但是不能修改父类。

最好的抽象可以什么都不写,空方法,空类。

(idea的包里面好像只要有错误就运行不了)

多态

是指编译时调用父类的,而运行是调用子类的(if子类没有,退而求其次找父类的)

方法,

先编译,静态绑定,看父类中有无此方法,有才编译通过,

然后动态绑定,去看子类中有无,有则使用子类的,无则使用父类的。

父类没有,子类再有也没有用

public class azhe{
	public static void main(String[] args){//像c语言中的main()函数,是函数所以要有返回值
		//是int main()开头。这里是main()方法,方法自然要有权限修饰符(不写默认default)还有返回值
		//这个main方法必须要static修饰,是说要创建main实例(对象)去调用,但是如果直接static了就不需要创建对象就可以直接运行,转化为可执行字段了(代码段)
		//所以 就是 public static void main了,权限public 储存类型static 返回值void.
		System.out.println("Hello World!");
		Dog d1 = new Dog();//不知道为什么,这里说静态上下文无法调用this,但是我感觉也没有调用啊。
		//然后把类都static修饰(还可以这种操作)就可以运行了
	}
	
	static class Animal
	{
		public String Name;//要实现封装可以private,java中是有String关键字的,比c多。
		public Animal(){
			System.out.println("父类无参执行!");
		}//无参
		
	}
	static class Dog extends Animal 
	{
		public Dog(){
			System.out.println("子类无参执行!");//果然是先执行父类构造方法的。

	}
}

}

super()和this()

super()可以调用父类的构造方法(不给参调用无参,给了调用对应有参。)

this()可以调用本类构造方法(不给参调用无参,给了调用对应有参。)

但是这两种特殊调用构造方法的方式只能用于代码块的第一行,所以互斥,不可同时用or多用。

super 和 this

关键字

this.member;引用此方法的对象的成员变量(属性)

super.id;调用父类的属性。

可以区分就近原则的同名变量干扰。

也可以调用方法。老样子,二者调用的对象范围不同,this是调用者的,super是调用者(直系最近一代)父类的。

this代表本类对象,super代表父类对象。//类似java中的指针但是用法又区别于c一点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值