java面向对象

面向对象主线一:Java类及类的成员



前言

提示:面向对象的三条主线:①java类及类的成员;②三大特征;③关键字


成员一:属性

属性赋值的位置:
默认初始化,显示初始化,代码块内赋值,构造器内赋值,“对象.属性”和“对象.方法”赋值。
属性赋值的先后顺序:
默认初始化,
显示初始化(== 代码块内赋值),
构造器内赋值,
“对象.属性”和“对象.方法”

成员二:构造器(构造方法)

作用:
创建对象,初始化对象
格式:
权限修饰符 类名 (形参列表) {
内容;
}

代码example

代码如下(示例):

public void Person (String name,int age) {
	this.name = name;
	this.age = age;
}

成员三:方法

1.方法的使用中可用调用当前类的属性和方法

2.可变形参的方法:

①格式:数据类型 … 变量名----->(Stirng … str)
②当调用可变个数形参的方法是,传入的参数可以是一个也可以是多个
在这里插入图片描述
④可变形参的方法与形参类型是同类型的数组的方法不能重载----换句话说:string … str == string[] str
在这里插入图片描述
⑤可变形参只能声明到末尾string ... str只能声明到形参列表的末尾
在这里插入图片描述

3.方法的重载

在同一个类中同名同参方法体不同的方法称为重载

4.方法的重写(override,overwrite)

1.子类继承父类后可以对父类中方法(非final方法)进行重写
2.重写的规定:
①子类中重写的方法名和形参列表必须与父类被重写的方法名和形参列表一致;
②子类重写的方法权限修饰符不能比父类被重写的方法权限修饰符小
③子类不能重写父类中private的方法
④父类被重写的方法的返回值类型是void时,子类必须是void。
⑤父类被重写的方法的返回值类型是A类型是,子类返回的可以是A类型或者A类型的子类型
⑥父类被重写的方法的返回值类型是基本数据类型时,子类返回的必须是相同的基本数据类型
⑦父类和子类中同名同参数的static的方法不属于重写
⑧父类被重写的方法是static时,子类必须是static的。
⑨子类throws的异常类型不大于父类throws的异常类型

成员四:代码块(优先于构造器的执行)

1.代码块只能用static来修饰
2.静态代码块(可以有多个)
随着类的加载而加载,而且只能加载一次
作用:初始化类的信息
静态代码块的执行优先于非静态代码块的执行
静态代码块只能调用静态的属性和方法,不能调用非静态的结构
3.非静态代码块(可以有多个)
随着对象的加载而加载
每创建一个对象就加载一次
作用:可以在创建对象时对对象的属性进行初始化
非静态的代码块既可以调用静态的结构又可以调用非静态的结构

成员五:内部类

成员内部类(静态,非静态)

1.作为外部类的成员出现
可以调用外部类的结构
可以被static修饰
可以被四种不同非权限修饰符修饰
2.作为一个类:可以定义方法,属性,构造器

3.如何创建成员内部类的对象:

静态的内部类:Animal.Dog dog = new Animal.Dog();
非静态的内部类:Animal a = new Animal();
------------------------Animal.Bird bird = a.new Bird();

局部内部类

声明位置:
方法内,构造器内,代码块内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值