Java基础-面向对象

面向对象编程OOP

对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对的思路来分析整个系统,但是具体到微观操作仍需要面向过程的思路来处理,面向对象就是以类的方式组织代码,以对象的形式封装数据

  • 三大特性
    1. 封装
    2. 继承
    3. 多态
      认知中先有对象,后有类;
      对象是具体的,类是抽象的
      代码中先有类后有对象—new
      使用new关键字,本质上是在调用构造器(out+insert可以生成构造器 construction)
      构造器用来初始化值,new的时候必须存在
      实参——重载 构造器

类里面存在属性和方法

方法的建立:
修饰符 返回值的类型 方法名()
public String hello(){
方法体
返回值
return “helloWorld”;
return 结束方法返回一个结果
}

在窗口右键类,单击split vertically可以两个窗口

  • 构造器
    一个类即使什么都不写,也会默认形成一个方法(构造器)无参构造
    1. 和类的名字相同
    2. 没有返回值类型,也不能为void

作用

  1. 初始化对象的值
  2. new 本质上在调用构造器
封装

高内聚,低耦合
仅暴露少量的方法给外部使用,提高程序的安全性, 隐藏代码的实现细节
在set方法里放安全性验证if else
private String = name;

get/set方法
public String getName(){
return this.name}
public void setName(){
this.name = name;}
在main方法里:
new 一个student s1;
s1.setName = “c”;
System.out.println(s1.getName);
在这里插入图片描述

继承

extends 继承是类和类之间的关系, 都默认继承object类;
老师(子类)是人(父类)
public class person{}
public class teacher extends person{}
从子类中调用父类的内容用super.

方法重写 多态

在这里插入图片描述
在这里插入图片描述
最后这三种方法是不能重写的

instanceof

同级之间不能比较
System.out.println(X instanceof Y);
X 和 Y 是否存在父子关系;true or false

父类= new 子类;
父类引用指向子类的对象:
Person person = student;
父类要转换成子类需要强制转换;

static

非静态方法必须先new实例化之后才能用;
静态方法可以直接用
public class demo{
{匿名代码块

先执行并只执行一次静态代码块匿名代码块构造方法(构造器)
在final修饰符—class—类;后面就不能继承子类.

abstract

继承了抽象类方法的所有子类, 都必须要实现他的方法;
public abstract void 方法名();
抽象类不能new实例化, 只能靠子类去实现—约束;
抽象类中可以写普通方法, 抽象方法必须写在抽象类中;

接口

extends是单继承的,接口可以多继承
接口的本质是契约,interface

  • 接口里只能写一些简单的方法,接口里的所有定义都是抽象的public abstract;
  • 接口里定义的常量都是public static final;一般都是创建方法 通过约束来实现;
    接口都需要有实现类xx-impl (implement userService), 而且里面要重写所有方法;
    接口不能被实例化,接口没有构造方法

内部类

A类中定义了一个B类,那么B类对于A类来说就是内部类;相反就是外部类

  • 成员内部类
  • 静态内部类
  • 局部内部类
  • 匿名内部类

一个java中可以有多个class,但是只有一个public class (最外层)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值