关键字 面向对象

static关键字

静态变量:

访问方式: 类名.静态变量(推荐) 。 对象名.静态变量

内存特点: 内存只有一份,类加载时,静态变量就会在内存出现,存在静态区中

静态变量被所有对象共享使用

静态方法:

调用格式: 类名.方法名(推荐). 对象名.方法名

使用注意: 1,静态方法只能访问静态变量 。 在一个静态方法里面,静态的只能访问静态的,在一个非静态方法里,可以访问非静态或者事静态方法

2,静态方法不能使用this和supper等代表对象的关键字

应用场景: 工具类的设计 : 1,方法都是静态方法,方便调用

2,工具类的构造方法通常会被私有

构造代码块:

格式: 类中方法外 { }

构造代码块执行时机: 每次调用构造方法之前,都会执行构造代码块

构造代码块的作用: 抽取多个构造方法的相同的代码,提高复用性

静态代码块

格式: static { }

特点: 静态代码块只会执行一次

执行时机: 类被加载的时候,静态代码块就会执行,而且只会执行一次

工具类

工具类的方法都是静态的,目的就是为了让调用方便使用

工具类分 。构造方法私有 。 不让外界去创建对象

this与super区别

this: 代表本类对象的引用

访问成员变量: this.成员变量 ,访问本类成员变量

访问成员方法: this.成员方法() 。访问本类成员方法

访问构造方法 : this.() 。 访问本类构造方法

super:代表父类存储空间的标识

访问成员变量: super.成员变量 。访问父类成员变量

访问成员方法: super.成员方法(), 访问父类成员方法

访问构造方法: super.() 。访问父类成员变量

继承

格式: public 类名 extends 父类{. }

继承的特点: 类只能单继承, 可以多层级继承

super: 在父类中 。有相同的属性或者方法时,访问父类的属性

调用: super.父类变量

super.父类方法

重写覆盖 :方法名和参数相同

设计理念: 要继承父类的方法,又觉得功能不够强大,子类在继承之后去扩展功能

子类继承父类的方法,并对方法重新实现功能

格式要求:

方法名和参数一样

返回值类型通常是一样(如果是引用类型,子类的方法返回值可以是父类方法返回的子类)

子类方法的权限要大于或者等于父类方法返回的子类

父类私有的方法不可以重写

子类创建对象的特点:

子类创建对象时,会先调用父类的无参构造方法

子类的构造方法的第一行,有默认的super()

调用父类的带参构造方法 : super(实参)

权限修饰符

public > . protected. > 缺省. > private

final关键字

修饰类 : 类不能被继承(String类就是final类)

修饰方法: 方法不能被重写

修饰变量: 基本类型 : 变量数据值不能修改

引用类型 : 变量地址不能修改

抽象类

格式: public abstract class 类名{. }

抽象类与抽象方法的关系: 有抽象方法的类一定是抽象类,抽象类可以没有抽象方法

子类继承抽象类,要重写方法,否则子类也是抽象类

抽象类与普通类的区别: 有得有失

得到可以定义抽象方法的功能

失去创建对象的能力,除此之外,普通类可以定义的,抽象类都可以

接口

格式: public interface 接口名{ . }

作用: 接口用于定义抽象方法,规范功能,实现代码的解耦

接口与类的关系: 

多实现,关键字是. implements

一个类可以实现多个接口

public class 类名 implements. 接口1,接口2{. }

一个类实现接口,要重写接口的全部抽象方法

接口与接口的关系:

多继承,关键字是. extends

一个接口可以继承多个接口 

public class 类名 extends 接口1,接口2{. } 

接口的组成成员

jdk7及之前: 常量. 默认使用 public static final 修饰

抽象方法 默认使用 public abstract修饰

jdk8之后: 默认方法

静态方法

私有方法(成员方法和静态方法)

抽象类与接口的区别:

相同的: 都不能创建对象

不同点:

1, 类只能单继承,接口可以被多实现

2,抽象类可以定义任何成员,接口只能方法跟常量

3,抽象类有构造方法,接口没有

4,抽象类抽取子类共性的属性和方法,而接口只能定义方法和常量

单列设计模式

单列模式: 保证一个类中只有一个对象

饿汉式:

1,私有构造方法

2,提供一个静态对象,定义时就创建好对象

3,提供一个公开的静态方法,返回唯一的对象

懒汉式:

1,私有构造方法

2,定义变量

private. static 类名. 对象名 = null;

3,提供一个公开的静态方法,返回唯一的对象

4,判断这个是否为空,如果没有,就创建对象

区别:

懒汉式是什么时候用到了什么时候在new,饿汉式式提前就给new好了

内存占用: 懒汉式内存占用小

运行效率: 饿汉式效率更高

类和对象
类: 类是对现实生活中的一些行为跟属性组成的
属性:该事物的各种特征. 类中方法外的变量
行为:该事物存在的功能 通过成员方法表示

类的组成: 属性与行为
类是对现实生活中一类的具有共同的属性和行为的事物的抽象

对象: 是能够看的到的实体
类是对象的描述,对象是类的实体

两种编程思想:
面向过程: 实现功能的每一步都是自己做
面向对象: 指挥对象帮我们做事情

成员变量和局部变量
成员变量: 类里方法外
局部变量: 方法中的变量 。参数位置也是
区别: 成员变量. 局部变量
类中位置不同. 类中方法外. 方法内或者方法声明上(形参)
内存位置不同. 堆内存. 栈内存
生命周期不同. 随着对象的存在而存在, 随着方法的调用而存在,随着
随着对象的消失而消失. 方法的调用完毕而结束
初始化值不同. 有默认的初始化值 没有默认的初始化值,必须先定义,赋值,才能使用

封装
private 。私有的
可以修饰成员变量和成员方法/构造方法
被private修饰的成员只能在本类中访问
好处: 提高了代码的安全性
提高了代码的复用性

this关键字
作用: 区分同名的成员变量和局部变量. 有this吸收的变量就是代表类中的成员变量
this修饰 那个对象 调用这个this 。输出的就是那个成员变量

如果方法的形参 ,或者方法定义的局部变量跟类中的成员变量同名,更具 。就近原则 。
没有this修饰 的变量就是局部变量[形参]. 有this修饰的变量就是成员变量

通过this来区分同名的成员和局部变量 。有this修饰就是成员变量[方法不需要有成员变量和局部变量同名]

构造方法
特点:
1,没有void 。没有气她的返回值的类型
2,方法名只能与类名一致
3,方法中没有return

作用:
用来创建对象,我们可以使用构造方法 在创建对象的同时,去给成员变量赋值
格式:
public 类名(){ . }
注意事项:
只能通过new的时候调用,不能通过对象来调用
每一个java文件 。都会提供一个无惨构造
系统一开始会给我们提供体格默认放入无惨构造,但是,一旦你写了无惨构造,系统就不会给你,我们一般
创建一个类的时候,会把无参和含参构造都提供

若有收获,就点个赞吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值