面向对象的三大特征

文章讲述了面向对象编程的三个重要概念:封装,强调将数据和操作数据的方法绑定在一起,通过get/set方法访问;继承,允许子类继承父类的属性和方法并可扩展;多态,允许父类引用指向子类对象,提高程序的扩展性。还讨论了String和StringBuilder类的区别以及构造方法、方法重写的相关规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封装

封装是我们面向对象的三大特征之一,封装的意思就是把将某些信息隐藏在类的内部,不允许外部程序直接访问,必须通过该类提供的方法来实现对隐藏信息的操作和访问。一般使用private成员变量,提供相应的getxxx和setxxx方法。

this关键字是用来区分成员变量和局部变量同名的问题,当方法的形参和成员变量同名的时候,不带this修饰的变量是形参。当方法的形参和成员变量不同名的时候,不带this修饰的变量是成员变量。

封装的好处是提高代码的安全性和复用性。

构造方法为有参构造和无参构造,如果没有定义构造方法,系统会提供一个无参构造方法,有定义构造方法的时候,系统不在提供无参构造,无论是否使用到了无参构造,都需要手动构造一个无参构造,可以使用有参构造给成员变量初始化。

String类和StringBuilder类,Srring类内容是不可变的,但是可以被共享,StringBuilder类内容是可变的,他们可以互相转换,通过public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String,通过public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder。

//StringBuilder 转换为 String
        StringBuilder sb = new StringBuilder();
        sb.append("hello");

        //String s = sb; //这个是错误的做法

        //public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
        String s = sb.toString();
        System.out.println(s);
        */

        //String 转换为 StringBuilder
        String s = "hello";

        //StringBuilder sb = s; //这个是错误的做法

        //public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

创建字符串的2种方式,可以通过构造方法创建一个字符串(new),直接用赋值的方法创建一个字符串(“ ”)。

继承

继承是面向对象三大特征之一,继承的意思是可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法,继承通过 继承通过extends实现,格式:class 子类 extends 父类 { } ,继承的好处是继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。 super:代表父类存储空间的标识(可以理解为父类对象引用)。

继承的成员方法的访问特点,通过子类对象访问一个方法,1. 子类成员范围找,2. 父类成员范围找,3. 如果都没有就报错。

方法重写:子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样), 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。

多态

多态的意思是同一个对象,在不同时刻表现出来的不同形态,多态的前提是要有继承或实现关系,要有方法的重写, 要有父类引用指向子类对象。多态的优点是提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作。弊端是不能使用子类的特有成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值