栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面向对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面向对象

1 Final

finals :是个修饰符,表示最终的,不可修改

                final修饰的类不能被继承,修饰的方法不能被覆写,修饰的变量不能二次赋值,不能更改,必须显示赋值,我们一般吧final修饰的静态变量也叫常量,例如public static。

使用方式:

修饰静态变量的时候不能更改

final int a = 10; 

修饰类的时候不能被继承         

final class A{  
        
 };

修饰成员方法的时候不能被覆写

2 多态         2.1 实现多态的步骤

1 编写父类,定义方法(功能)

2 编写子类(可以多写几个子类),然后重写父类的方法

3编写方法,形参位父类类型,而实参位子类对象(父类指向子类的引用)

多态的表现形式

1形参为父类型

2返回值为父类型

方法的放回类型为父类,而实际上放回的是子类的对象

优点:同一操作,作用于不同对象,可以有不同的解释,产生不同的结果,这就是多态性当一件事会有多种不同实现方式的时候,我们选择依赖高层,来拥抱多种变化本质还是降低类和细节之间的耦合度

缺点:丢失子类特有的属性

使用方式:

public class Abstract_1 {
    public static void main(String[] args) {
        Animal A = new Cat();
        A.eat();
    }
}

注意:转型的使用

        向上转型:父类引用指向子类的对象

        向下转型:实例化父类类型对象之后,如果想要调用子类特有的方法就必须想下转型

Subclass sub = (Subclass)sup;

Instanceof        

if(sup instanceof SubClass){
    
}

        判断某个对象是否有某个类实例化而来

abstract

        是个修饰符,修饰的类是抽象类,修饰的方法是抽象方法,抽象的类是不能实例化对象的

抽象的方法是没有方法体,只能定义功能,没有功能的实现,并且抽象方法只能在抽象类中

        2.2 相关知识

软件设计六大原则 :

1 单一职责原则 : 功能单一,只拥抱一种变化

2 里氏替换原则 : 能使用父类的情况下,一定可以使用子类

因为继承,父类有的功能,子类都有

3 依赖倒置原则 : 细节应该依赖抽象,而抽象不应该依赖细节

4 接口隔离原则 : 先不管

5 迪米特法则 : 最少知识原则,和其他类或对象,尽可能有更少的了解

6 开闭原则 : 对修改关闭,对扩展开放

3  接口

interface

        是接口 可以理解位完全抽象的一个类,里面只有抽象方法和常量,没有具体实现的方法。接口中的抽象方法辉在不同的类中去实现,会有不同的行为 ,并且一个类中可以有多个接口,接口比抽象类更加的灵活

接口的特性:接口不可以被实例化 实现类必须实现接口的所有方法 实现类可以实现多个接口(灵活)implements、多个接口使用逗号隔开 一个子类,可以在继承一个父类的同时再实现多个接口

接口中的变量都是静态常量(public static final)换句话说,接口当中是没有变量的。在程序当中声明的常量比较适合在接口当中声明

使用方式:


    

 4 Object

        Object 是所有类的祖类 是java中提供的根类

        一个类没有显示继承另一个类的时候,就默认继承object

        object xx = new xxx();是可以发生多态的

4.1 Equals

equals();设计的目的是用来比较两个对象是否相等,但是 默认比较地址,想要比较别的就需要自己根据需求进行重写

        

public boolean equals(Object obj){
    return(this == obj)
}

4.2  Finalize

就是一个垃圾回收方法

class Person{
       public void finalize(){
        System.out.println(this+"")
}
    
}
4.3  toString

toString  代表当前对象的字符串表达形式,但是object中默认toString方法是打印改对象的内存地址(hash值),想打印出自己想要的东西,要根据需求进行方法的覆写

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704078.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号