欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法

发布时间:2025/4/16 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

面向对象的三大特征:继承封装多态


继承的实现

 继承让我们更加容易实现类的扩展。子类是父类的扩展

使用extends实现继承

package cn.sxt;public class Test {public static void main(String [] args) {Student s=new Student("止小兮",167,"java");s.rest();s.study();} } class Person{String name;int height;public void rest() {System.out.println("休息一会!");} } class Student extends Person{String major; //专业public void study() {System.out.println("在苍小凌那里学习Java");}public Student(String name,int height,String major) {this.name=name;this.height=height;this.major=major;} }

 


instanceof 运算符

instanceof是二元运算符,左边是对象,右边是类当对象是右面类或子类所创建对象时,返回true;否则,返回false 

使用instanceof运算符进行类型判断

package cn.sxt;public class Test {public static void main(String [] args) {Student s=new Student("止小兮",167,"java");//s.rest();//s.study();System.out.println(s instanceof Person);System.out.println(s instanceof Student);} } class Person{String name;int height;public void rest() {System.out.println("休息一会!");} } class Student extends Person{String major; //专业public void study() {System.out.println("在苍小凌那里学习Java");}public Student(String name,int height,String major) {this.name=name;this.height=height;this.major=major;} }


继承使用要点

1.父类也称作超类基类等。

2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3.Java中类没有多继承,接口有多继承

4.子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5.如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。


方法的重写override 

子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件

方法的重写需要符合下面的三个要点:

      1. “==”: 方法名、形参列表相同。

      2. “≤”:返回值类型和声明异常类型,子类小于等于父类。

      3. “≥”: 访问权限,子类大于等于父类

方法重写

package cn.sxt; class Vehicle{ //交通工具类public void run() {System.out.println("跑.....");}public void stop() {System.out.println("停止不动");} } class Horse extends Vehicle{ //马也是交通工具public void run() { //重写父类方法System.out.println("四蹄翻飞,嘚嘚嘚嘚...");} } class Plane extends Vehicle{public void run() { //重写父类方法System.out.println("天上飞!");}public void stop() {System.out.println("空中不能停,坠毁了!");} }public class TestOverride {public static void main(String [] args) {Vehicle v1=new Vehicle();Vehicle v2=new Horse();Vehicle v3=new Plane();v1.run();v2.run();v3.run();v2.stop();v3.stop();} }


 Object类基本特性

Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类


toString方法

Object类中定义有public String toString()方法,其返回值是 String 类型

在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法

package cn.sxt;public class TestObject {public static void main(String[] args) {TestObject to=new TestObject();System.out.println(to);System.out.println(to.toString()); //to 与 to.toString() 等同}public String toString() {return "测试Object对象";} }

package cn.sxt;public class TestObject {public static void main(String[] args) {TestObject to=new TestObject();System.out.println(to);System.out.println(to.toString()); //to 与 to.toString() 等同}/*public String toString() {return "测试Object对象";}*/}

toString()方法测试和重写toString()方法

package cn.dym.cl;class Person{String name;int age;@Overridepublic String toString() {return name+",年龄:"+age;} } public class Test {public static void main(String [] args) {Person p=new Person();p.age=21;p.name="止小兮";System.out.println("info:"+p);Test t=new Test();System.out.println(t);} }

 

总结

以上是生活随笔为你收集整理的java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。