Java Part1 Day9,10 类 方法重载 构造方法 封装 继承

两日内容.

  1. 类的成员
  2. 构造方法
  3. 方法重载

1.类

文件的扩展名 . Java
对象和类的关系:类是对象的统称,对象是类的具体实例
对象:明确,具体的事物
类:把具有相同属性、行为的事物归为一类
通过 属性/特征,行为来描述对象
属性/特征:名词,用来描述对象有什么
类的修饰符:public(默认) 公共的 必须和类文件同名
属性:语法上就是变量
位置:类内部,方法的外部
称呼:实例变量 成员变量

2.方法的重载

在同一个类中,方法名相同,参数不同(参数的个数,类型,顺序),称为方法重载
在调用重载的方法时,java根据参数的情况来决定调用哪一个方法
顺口溜:同名不同参,与返回值类型 访问修饰符无关
好处:方便调用

3.构造方法

Student wangYan=new Student();
构造方法:是一个特殊的方法
特殊1:名字必须和类名相同
特殊2:无返回值类型,无void
作用:1、创建对象时,new时调用,分配堆内存空间
2、给属性赋值
【说明】

  1. java 默认给每一个类添加一个public的无参数的构造方法
  2. 构造方法通过new来调用
  3. 当自己添加了有参构造函数后,那么系统就不再添加public的无参数的构造方法了
    【经验】当自定义了有参构造方法后,一定要重载无参构造方法

4.封装

为什么要封装?
在给类中的属性赋值时,需要通过封装来确保值的合理性
封装:将类的实现细节(属性),隐藏在类的内部(使用privatte),通过对外的公共接口(public setXXX getXXX)对属性进行范文,从而保证了值的安全(合理).
如何使其值合理呢?
1.private:私有的,在本类内部可以访问,在类的外部不能访问一个类中使用private修饰的成员
​ 【说明】private只能修饰 属性 方法。
2.通过在类的内部写两个public的方法
​ 赋值方法 取值方法 来对私有属性进行赋值、取值操作
3. 在setXXX赋值方法中,对参数的合理性进行判断

package com.qf.pro2103.day10;

public class Student {
	String name;
	//1、属性设置为private
	private int age;
	//2、编写  赋值 、 取值方法方法
	//2、1赋值方法
	public void setAge(int age){
		//3、对参数值的合理范围进行判断
		if(age>=18 && age<=65){
			this.age=age;
		}else{
			this.age=18;
		}
	}
	//2、2取值
	public int getAge(){
		return this.age;
	}		
	public void sayHi(){
		System.out.println("大家好,我是:"+this.name+",今年"+this.age+"岁了!");
	}
}

快捷键 alt+shift+s ---->Genearte Getters and Setters
给属性赋值有3种方式:
对象.属性名=值; 要求属性的访问修饰符一定可用
构造方法赋值,没有对值的有效范围进行判断
对象.setXXX(值) 安全的赋值方式

5.继承

为什么要用继承
继承主要解决代码重复编写的问题
概念:描述的是类与类之间的关系,通过这种关系,子类就可以访问父类中可以访问的成员
好处:代码复用
继承的关系:is-a 子类 is-a 父类
父类:不明确的
子类:明确的,具体的
如何解决:

  1. 找类的共通属性及方法
  2. 新建类,把共通的属性和方法存放在新类中
  3. 原有类 继承 存放共通成员的类

概念
父类:基类、超类 存放共同成员的类
子类:派生类, 存放自己独有成员的类
java继承的语法:
class 子类 extends 父类{

}

6.java继承的特点

  1. 单继承 一个子类只允许有一个父类
  2. 传递性

7. 子类继承了父类的哪些成员:

  1. 子类可以访问父类中public修饰的成员
  2. 如果子类和父类在同一包中,那么可以访问父类中默认访问修饰符修饰的成员,如果不在同一包中,则不可以访问
  3. 子类可以访问父类中protected修饰的成员,无论子类和父类是否在同一包中
  4. 构造方法不能被继承

总结

  1. 本周的课堂案例,做多遍 必做
  2. 双色球
  3. hr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隋zy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值