Java学习_Day9


好处
①分类管理众多类
java自带的类和我们自定义的类
②避免类的重名
不同的包里面类可以同名
③可以控制某些类或成员的可见范围
主要是通过修饰符来控制

**命名:**全小写,用 . 隔开,公司域名的倒序,见名知意

使用其他包类:
同包可以直接用,不同的包需要用import导入包的全类名
①导包
在类的上方通过import导入包的全类名
eg:import java.util.Scanner;
②引用
导包成功后,在当前java文件中,导入的类可以直接使用

继承
面对对象的三大基本特征:抽象、继承、多态,封装
继承是多态 的前提!!
好处:
提高复用性
语法:
在子类类名后+ extends +父类类名
①成员变量
1.子类可以继承父类所有的成员变量,但是有一些成员变量,子类没有访问权限
子类不具有访问权限可以通过父类的get/set去访问

					2.父类和子类可以有重名属性,
						调用重名属性采用就近原则
						如果想指定使用父类的重名属性可以采用
							super.属性 从继承里面找,跳过当前自己的属性(只能在子类内部)

				3.父类对象和子类对象没有任何关系
			

		②成员方法
			1.子类可以继承父类的所有方法,但是权限可以控制子类不能调用父类的方法
				如果非要调用,可以在父类中增加一个中间方法(没有意义)
			```java
			private void run(){
			System.out.println("hrllo");
			}
			public void add(){//中间方法
			run();
			}
			```
			2.如果方法重复--->方法重写(覆盖)
			条件:
					a.父子类,
					b.方法名相同
					c.参数列表相同(个数,类型,顺序)
					d.返回值相同
							基本数据类型:
									必须一致
							引用数据类型:
									父类的返回值类型必须大于等于子类的返回值类型(原因:多态)
					e.权限修饰符相同
								子类的权限修饰符必须大于等于父类的权限修饰符的范围
								**private的父类方法不能被子类重写**
			调用:
				如果想调用父类的方法
						super . 方法名 (只能在子类内部)
					```java
				
						    public void run(){
									        System.out.println("这是一个可爱的小狗在尽情的奔跑!");
									    }
									    public void add(){
									        this.run();  //调用子类的方法
									        super.run();  //调用父类的方法
									    }
					```

在这里插入图片描述

				③构造方法
					子类不会继承父类的构造器,但是在实例化子类对象的时候,会默认条用父类的构造器
					因为每个构造器**首行**都会默认存在一行代码 ***super();***--->默认调用父类的无参构造器
public Student(){
super();//调用父类的无参构造器
}
public Student(String name,int age){
super(name,age);//调用父类的有参构造器
}

在这里插入图片描述

				④Java的单继承
						Java中一个类只有一个父类(直接继承不可以,但是可以间接继承)
						一个类如果没有显示的继承父类,南无该类的父类是object
						object类是所有类的默认父类,所有Java对象都会间接的继承object类的内容
				
				⑤super
						父类空间优于子类对象产生
					***父类空间不等于父类对象***
				
						this: 当前对象
						super:当前对象内的父类空间

				⑥final
					修饰符--->修饰类。变量。方法
					1.修饰类的时候
						该类不能被继承
					2.修饰变量的时候
							该变量会变成常量,值不能再被修改
					3.修饰方法的时候
							该方法不允许重写

				⑦protected 受保护的
						本类        本包   非本包子类     非本包非子类
						√				√					√					×
					
	范围大到小: public-->protected-->缺省的----->private
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值