面向对象学习笔记

news/2025/3/14 16:35:56/

常见代码块应用

  • 局部代码块
    在方法中出现,限定变量的生命周期
  • 构造代码块(初始化块)
    在类中方法外出现,多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,在调用构造方法前执行
  • 静态代码块
    在类中方法外出现,加上static修饰,用于给类初始化,在加载的时候就执行,只执行一次

练习代码

public class Demo1_Code {public static void main(String[] agrs) {{int a = 10;System.out.println(a);  // 局部代码块:限定变量的生命周期}Students s1 = new Students();  //调用空参构造s1.setName("张三");s1.setAge(27);System.out.println(s1.getName() + "---" + s1.getAge());System.out.println( "--————————————————————————————————————--" );Students s2 = new Students("李四",26);System.out.println(s2.getName()+"----"+s2.getAge());}static {   //静态代码块:类中方法外出现,加上static修饰,用于给类进行初始化,在加载的时候就执行,并且执行一次System.out.println("我是静态代码块");}
}
class Students {private String name;private int age;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;}{   //构造代码块(初始化块):在类中方法外出现,多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,且在构造方法前执行System.out.println("我是构造代码块(初始化块)");}public Students() {          //空参构造System.out.println("空参构造");}public Students(String name, int age) {               //有参构造this.name = name;this.age = age;System.out.println("有参构造");}
}

执行结果

面向对象——继承

继承:让类和类之间产生关系,子父类关系

继承的好处:

  1. 提高代码的复用性
  2. 提高代码的维护性
  3. 让类与类之间产生关系,是多态的前提

继承的弊端:类的耦合性增强了

开发的原则:高内聚,低耦合
耦合:类与类的关系
内聚:自己完成某件事的能力

Java中类的继承特点

  1. Java只支持单继承,不支持多继承。一个子类只能有一个父类
  2. Java支持多层继承(如grandpa—father—son)
  3. 如果想用这个体系的所有功能用最底层的类创建对象
  4. 如果想看这个体系的共性功能看最顶层的类

Java共性功能指的是Java语言中所有类都具备的一些基本功能,例如继承、封装、多态等,继承允许类之间的代码共享和重用;封装则使得类的内部实现细节对外部不可见,从而提高了代码的安全性和可维护性;而多态则使得不同的对象可以对同一消息作出不同的响应,从而提高了代码的灵活性和可扩展性。这些共性功能是Java语言的核心特性之一,也是Java语言在软件开发领域广泛应用的重要原因之一。

练习代码

public class extendsTest {public static void main(String[]agrs){cat c = new cat();c.setName("咪咪");c.setColor("白色");c.eat();System.out.println(c.getColor()+"的猫咪叫"+c.getName());}
}
class animal{private String name;private String color;public animal() {                                   //空参构造}public animal(String name, String color) {          //有参构造this.name = name;this.color = color;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}}class cat extends animal{//继承父类的属性,并添加特有属性public void eat(){System.out.println("猫吃鱼");}}class dog extends animal{}

执行结果

继承需要注意

  1. 子类只能继承父类所有非私有的成员(成员方法和变量)
  2. 子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法
  3. 不要为了部分功能去继承

什么时候使用继承?
如果有两个类A、B,只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承


http://www.ppmy.cn/news/274783.html

相关文章

面向对象——多态、抽象类、接口

学习资料来自:黑马程序员,内容仅为学习记录,侵删 多态 多态:事务存在的多种形态 多态的前提:1、有继承关系;2、重写父类方法;3、父类引用指向子类对象 面向对象 面向对象多态中成员访问特点…

李铁被传下课之际,梅西却要七拿金球奖了?这波预测没毛病

周一,闹钟照常响起,人们照常上班,码君也照常开始摸鱼,正好看到了几则足坛八卦,又想跟大家聊一聊足球了。 半个多月过去了,细数这段时间关于国足的讨论,“李铁下课”依旧是最受追捧的话题。 其…

我们为什么热爱梅西,梅西能够给我们什么?

聊足球故事,品百味人生。梅西是现代足球史上最伟大的球员之一,他的成就和天赋俘获了数百万球迷的心。那么,我们为什么热爱梅西呢?大叔和大家聊聊这个话题。 首先,梅西毫无疑问是一位天赋异禀的球员。他拥有敏锐的意识…

SringBoot 下的 Static 文件夹如何打包成前端资源

以下是在 Windows10 系统下使用 IntelliJ IDEA 编写的 Spring Boot 项目中,将 src/main/resources/static 目录下的静态文件打包成前端资源的示例代码: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfi…

【正一专栏】梅西!梅西!梅西!

梅西!梅西!梅西! 2017-10-11 九天 九天时空 从来都没有想过没有阿根廷和梅西参加的世界杯会是什么样子,但是阿根廷到预选赛最后一轮还不能出线还确实让人有些揪心。在需要梅西像马拉多纳一样站出来的时候,梅西在基…

javascript大作业《web课程设计》用html做一个期末作业网站,梅西足球体育网页,css

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?

【世界杯】阿根廷VS法国 不知不觉,世界杯已经走到最后的尾声,此前经历的28天,63场比赛皆是铺垫,卢赛尔体育场将会迎来2022卡塔尔世界杯最终的决赛,究竟是梅西球王加冕还是法国卫冕世界杯冠军,今晚23&#x…

成为最好的梅西,不是任何人的影子----2022年终总结

前言: Hello大家好,我是Dream。 还有不到两周就要过年了,自己也马上迈入了21岁,感慨时间飞快,从19岁开始入驻C站,到现在也已经整整两年了,把自己最好的两年青春时光留在了CSDN,超百万…