javaSE学习笔记(二)对象和类

类:构建一个类的时候首先哟啊分析这个类的属性和行为及其变量类型
什么叫做封装??????????????????

对象内存图:

一个对象

用两个new生成两对象,的内存分配

在这里插入图片描述
在这里插入图片描述

用类名 two = one生成第二个对象的内存分配

在这里插入图片描述

用main中的函数调用对象的内存分配图

在这里插入图片描述

二、思考如何对类中的成员变量进行保护

1.首先明白成员变量的作用域,它们是被保存在堆内的。eg:String 生成的变量也是局部变量,我已经试过了。(在main中声明两个函数,然后在第一个函数里String一个变量,然后在第二函数中调用,发现这是不可以的。)
在这里插入图片描述
2.对类中的成员变量进行保护,所以使用private声明;

this的作用(当遇到重名的时候,就用this区分)

当一个方法里的参数与类的成员变量重名的时候,在main中调用会,不会出现错误,这个时候根据就近原则这个方法只会调用参数而不会调用成员变量。所以这里引入this,这个this只能在方法中不能再类中写。哪个对象调用的this那么这个this就是这个对象的地址。

构造方法p112

六点注意事项:

  • 构造方法的函数名必须和类名一致,且函数名前不存在void

一个标准的类拥有4个组成部分

IDEA可以自动生成 code —》》》》generate,快捷键alt+insert;

  • 私有类型的成员变量,private修饰;
  • 一个无参数的构造函数;
  • 一个有参数的构造函数;
  • 设置和输出的成员变量的成员方法;

匿名对象p120

没有将新建的对象地址赋值给左边,eg:new Person().name = “dsf”
匿名对象只能用唯一的一次,下次再用就不得不创建一个新对象。
这里视频中讲解了一个快捷键alt自动生成本地变量进行赋值

对象数组

定义形式:类名[] 对象数组名 = new 类名【n】,n为多少,数组就有多少元素;

静态变量关键字修饰的成员变量和成员方法都属于类的。

  • 其中静态方法最好使用类名调用
  • 成员变量是所有对象共有的。
  • 如果是本类当中的可以直接调用,类名称 可以省略。P145
  • 静态不能直接访问非静态(无论是方法还是变量都不行)。内存中现有静态内容,后有非静态内容。
  • 静态方法不能使用this,this是通过谁调用的方法,谁是当前对象。
  • 在这里插入图片描述
  • 静态代码块只在第一次使用本类运行,主要是用来一次性的对静态成员变量进行赋值。

继承的概述

  • 继承主要解决的问题就是:共性抽取
  • supper 变量 指的是父类的变量。
  • 方法覆盖重写必须保证父类和子类的名称和参数列表都相同。@Override注释重写,可以用作检验,建议都写上。子类的返回值必须小于父类的返回值范围。public>protected>(default)>private,子类的权限必须大于等于父类。
  • 在这里插入图片描述
    super的父类构造调用,必须是第一个子类构造方法的第一个语句,不能一个子类构造调用多个super。

在这里插入图片描述

接口类中的内容

  • 成员变量其实是常量
  • 最重要的就是是抽象方法
  • 接口里允许有默认方法
  • 允许定义静态方法
  • java9中允许定义private方法

多态性

  • 父类引用指向子类对象Fu one = new Zi();
  • 方法:编译看左,运行看右
  • 变量:编译看左,运行也看左

静态代码块

只在类加载的时候执行一次,所以一般用作记录一下类的加载的日志信息(在哪年哪月这个类加载到JVM当中了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂的牛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值