java 第八天 面向对象

ctrl+alt+m = 把代码包裹成方法
ctrl+左键 = 打开方法

面向对象:不考虑程序具体的实现过程,只是调用特定的对象解决问题

类:属性和行为的集合—>人类
对象:就是该类事物的具体体现---->学生

类包含成员变量和成员方法。
成员变量就是类的属性,成员方法就是类的行为。

对象的创建和使用

格式:类名 对象名 = new 类名();
对象的使用:成员变量:对象名.成员变量
成员方法: 对象名.成员方法() 有一个括号

成员变量与局部变量的区别

  1. 在类中的位置不同 : 成员变量在类中,方法外
    局部变量是在方法中
  2. 在内存中的位置不同:成员变量 在堆中存储,局部变量在栈中存储
  3. 初始化的值不同:成员变量有默认值。局部变量没有默认值,必须定义后使用
  4. 局部变量:方法使用后就会消失。成员变量在类中才会消失

private

private修饰的成员在本类中才能访问,其他地方不能访问

如果想访问,和public void set成员变量名(){} public 返回值类型 get成员变量名(){} 搭配使用,这样在别的类中也能访问到private修饰的成员,可以在set成员变量名函数中,对输入的值进行筛选,筛选不通过则return,返回默认值

this

调用本类的构造方法

this.成员变量 就是代表方法外,单独类中的成员变量

方法被哪一个对象调用,this就代表哪一个对象

构造方法

给成员变量赋初始值。类和对象都需要构造方法
用来创建对象的特殊方法
构造方法会在创建对象时执行,每创建一个对象都会执行一次。不能通过对象名或方法名直接调用,必须通过new关键字。
有一个this();
给成员变量值

this和super都是调用构造方法,不是调用方法

格式:
权限修饰符 构造方法名=类名(参数列表){}

构造方法名和类名相同

如果没有提供构造方法,系统会自动提交一个只有构造方法名,没有参数列表的构造方法
如果提供了构造方法,系统默认不提供空的构造方法

构造代码块

格式
在类中用{}括起来的内容
只要对象创建,就会在对象中调用类中的空的构造方法和构造代码块中的方法。优先于有参数的构造方法。
例如对象创建时创造的方法就会调用
类名 对象名 = new 类名();

继承

子类只能继承父类的全部
所有类都是Object的子类

子类继承的父类的成员变量,只是在子类中的值更改,不影响父类中的值

权限修饰符

protected 中的方法可以在同一个文件夹中使用,或者子类

super

可以在子类中调用父类的构造方法

public class只有一个,class可以有多个在同一文件中。
private 只能在本类中使用

调用的都是构造方法
super.()调用父类的无参构造,super.(" 可以加参数")调用父类的有参构造
super.成员变量。调用父类的成员变量

重载

方法名相同,参数不同,都运行

Alt+insert = 生成get,set方法

子类不能接收父类的对象
this.成员变量

this()调用本类的无参构造

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值