java小易——面向对象概念及封装性、继承性、多态性

面向对象

万事万物皆对象,先有的对象再有的类

类:很多相似的东西进行抽象

对象——>抽象——>类——>封装、继承、多态

类——>实例——>对象

抽象为提取对象的关键特征,为多个对象提取出关键特征的集合

①出现的动词为对象的行为,行为为一系列动作的集合。

②出现的名词为对象的属性,属性可以给出一个明确的值。

③方法一系列动作的集合,传递参数为方法的条件。

形参与实参

动态方法():必须有对象才能调用的, 标识符.方法

静态方法(static):没有对象也可以直接调用

构造方法的名字和类名相等,用在初始化的,没有定义构造方法时默认一个空的构造方法,创建对象时自动调用构造方法。

当有new时为类的实例化,开辟一个新的内存。

包命名:所在组织的倒叙写法(域名+类名)

一个包就是一个文件夹,为有效代码行第一行;

封装性

一,数据打包
二,访问控制(能见度)

①不加访问控制符,默认为package,只能在一个包内访问

私有属性、私用方法:别人无法调用,只有自己可以调用。

②public(属性公开化):在任意其他类中的任意位置,都可以(访问或者调用)被public修饰的属性或者方法。

③private:只能在本类中的调用的属性。

Static修饰的为静态对象,不需要创建对象,所有对象都可以调用它

其他为动态对象

静不可调动,动不可调静,静态对象在元数据区

String:是一个字符的容器,既然是一个容器,他一定符合容器的常用操作:定位、求长、替换

两种创建的方式:

String str = "liguocheng";
String str1 = new String("liguocheng");

两种输出一样,但是str不等于str1,地址不同

str的方法:

A.equals(B)用于判断对象内容是否相同

toCharArray()字符串转为数组

str.split(“a”):字符串从a处切割

String a=str.replace(“s”,“e”)将字符串中s变为e

string无法修改,StringBuffer,StringBuilder可修改,差别为线程安全问题

Integer是int的对象类型

内存

①程序计数器:

②栈:只记录开始位置(4个字节),物理地址

③堆:记录内容,在常量池出现的数据不会出现第二次

④方法区

⑤常量池

继承

extends

一个子类只能继承一个父类,链式继承

里氏替换原则:所有父类可以完成的工作,子类都可以完成

super指父类对象
this指本类对象

先创建父类对象再创建子类对象

构造方法不可继承

implements为实现

实现为继承的一部分

多态

多态的一种:

方法的重载:方法名一样,参数不同 或者 参数个数不同、参数类型,与参数名称无关

​ 参数列表(入口)定了,出口一定唯一

//方法的重载
    public void fun() {

    }

    public void fun(int a) {

    }
	public void fun(int a,int b) {
        
    }
Interface接口:为一种规范

命名:大写I开头

public interface IUsb {   
}

接口要使有意义,一定是公开的,关心整体,不关心个体

特点:可以声明属性,必须为静态的、公共的常量,不可改变

​ 变量默认为public static final //静态的、公共的常量

​ 方法默认为抽象方法,没有方法体的方法为抽象方法;默认为public abstract

​ 在普通方法中,默认为default,接口中动态方法必须加default

​ 接口中没有构造方法

public IUsb() {

}//接口中错误,不可以有构造方法
public interface IUsb {
    /*
    *1.属性:PSF(public static final) 如果不显示的申明,默认就是PSF
    *显示的声明也必须是PSF
    *2.普通方法,都是PA(public abstract), 没有方法体
    *3.静态方法,static方法,可以有方法体,这个方法体放在方法区的元数据区
    *4.默认方法,
    */
    
    int hight = 3;//静态的、公共的常量
    void input();//默认为抽象方法
    static void foo() {

    } //静态方法

    default void output() {
        System.out.println("nihao");
    } //动态方法
}

java继承在类范畴中为单继承,在接口范畴中为多继承
类和类为继承关系,类与接口为实现关系,接口与接口也为继承关系
普通类抽象类接口
实现×
单继承×
多继承××
构造方法×
创建对象××
属性PSF
普通方法default
抽象方法×
类型转换

小类型转大类型没问题,大类型转小类型可能会出错

一个对象 instanceof 一个类型:判断这个类型是否包含这个对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值