Java之三大特性
创始人
2024-02-18 04:11:24
0

Java之三大特性

1.封装

即是为了保护属性,对外只暴露想暴露的方法,实现保护数据的目的。低耦合 高内聚
一般表现为:spring(java框架体系)中bean属性的get/set方法(IDEA快捷键Alt+Insert)

package com.oop.demo02;// 封装 保护属性 对外只暴露想暴露的方法
// 低耦合 高内聚
// 保护数据
public class Student {private  String name;private int age;public Student(String name, int age) {this.name = name;this.age = age;}public Student() {}// 封装public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
package com.oop.demo02;public class Application {public static void main(String[] args) {Student student = new Student();student.setName("大鹏");student.setAge(6);System.out.println(student.getName()+"今年"+student.getAge()+"岁"); // 大鹏今年6岁}
}

2.继承

即子类继承父类 ,表示类与类之间的关系 。
关键词:extends

子类:派生类 父类:基类
子类继承父类 拥有父类的所有方法以及属性 private除外
Java只能是单继承 即 一个爸爸多个儿子

重点:super 只能出现在子类中。相当于父类中this,可以获取父类的属性或者方法

Java中 所有的类都间接或直接继承Object类

Person 类与Student类展示super用法,A类与B类展示父子类重写,Application类为启动类

package com.oop.demo03;// 继承 子类继承父类  类与类之间的关系  关键词:extends
// 子类:派生类   父类:基类
// 子类继承父类 拥有父类的所有方法以及属性  private除外
// Java只能是单继承  即 一个爸爸多个儿子// 重点:super 只能出现在子类中。相当于父类中this,可以获取父类的属性或者方法// Java中 所有的类都间接或直接继承Object类
public class Person {public Person(){System.out.println("父类无参构造");}public int money = 10000;public void method1(){System.out.println("父类的方法");}
}
package com.oop.demo03;public class Student extends Person{public Student(){// 子类调用父类无参构造 只能写第一层super();// 父类无参构造System.out.println("子类无参构造"); // 子类无参构造}public void method1(){// 子类使用super调用父类的属性System.out.println("子类使用super调用父类的属性"+ super.money); // 子类使用super调用父类的属性10000// 子类使用super调用父类的方法super.method1(); // 父类的方法}
}

实现在Appcation类中

package com.oop.demo03;public class A {public static void test(){System.out.println("打印A");}public  void test1(){System.out.println("打印A");}
}
package com.oop.demo03;public class B extends A{public static void test(){System.out.println("打印B");}public  void test1(){System.out.println("打印B");}
}
package com.oop.demo03;public class Application {public static void main(String[] args) {method3();Application application = new Application();application.method2();}// 继承的实现方法private void method1(){Student student = new Student();// 实例化对象调用父类的属性System.out.println("实例化对象调用父类的属性"+student.money); // 实例化对象调用父类的属性10000// 实例化对象调用子类的方法student.method1();// 父类无参构造// 子类无参构造// 实例化对象调用父类的属性10000// 子类使用super调用父类的属性10000// 父类的方法}// 重写// 子类重写父类// 方法名称相同  参数列表相同 修饰符范围可扩大  异常范围被缩小// 非静态方法与后面有关private  void method2(){A a = new A(); // 打印Aa.test1();B b = new B(); // 打印Bb.test1();}// 静态方法 至于左侧有关private static  void method3(){A a1 = new B(); // 打印Aa1.test();B b1 = new B(); // 打印Bb1.test();}
}

3.多态

两种定义:
a.同一方法可以根据发送对象的不同而采用多种不同的行为方式
b.一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多====》类名 别名 = new 类名,实例化左边为引用类型 右边为实际类型

存在条件 :继承关系 子类重写父类方法 父类引用指向子类对象 只有方法多态

以第二种定义为例:

package com.oop.demo04;public class A {public void eat(){System.out.println("父亲吃");}
}
package com.oop.demo04;public class B extends  A {public void eat(){System.out.println("儿子吃");}
}
package com.oop.demo04;
// 多态
// 同一方法可以根据发送对象的不同而采用多种不同的行为方式
// 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多====》类名 别名 = new 类名,实例化左边为引用类型 右边为实际类型// 存在条件  继承关系  子类重写父类方法  父类引用指向子类对象 只有方法多态public class Application {public static void main(String[] args) {// 多态开始 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多B b = new B();A a = new B();Object o = new B();a.eat(); // 儿子吃b.eat(); // 儿子吃
//        o.eat(); 无方法}
}

总目录,请点击此处,Java学习

相关内容

热门资讯

北京律师行业年均免费为群众提供... 12月19日,北京市律师协会发布《北京市律师行业社会责任报告》,展示“十四五”时期北京律师行业在履行...
分居期间男子与公司女员工不正当... 公司股东李某乙在与妻子李某甲分居期间,与公司女员工马某某存在不正当交往并育有子女,还向其大额转账。李...
男子带作弊设备考科目一,被考官... 花钱就能够通过科目一考试,前不久,一名男子轻信朋友考试“包过”承诺,带着隐蔽的作弊设备进入考场,没想...
一个月内收两封监管函,瑞茂通怎... 12月19日,瑞茂通(600180)公告,于2025年12月19日收到监管工作函,监管机构就公司信息...
律师的作用 我以前自己打官司都是当被告,想办法不让对方讹诈就行,感觉律师没啥用,只是在法庭替你发言而已,孩子谢浩...
120多万卡宴只卖60万!海南... 12月20日,话题#海南封关120多万卡宴只要60万#冲上热搜,引发公众热议。 据媒体报道,12月1...
女子醉驾找人“摆平”被骗7万后... 因醉酒驾驶轻信他人“可摆平”的谎言被骗,女子葛某乙不堪压力自杀身亡。在实施诈骗的苏某被判刑并赔偿后,...
政策护航,智能建造企业“出海”... 长沙晚报掌上长沙12月21日讯(全媒体记者 刘嘉)近日,长沙市智能建造产业链推进办公室印发了《关于推...