1 package org.hanqi.pn0120;
 2
 3 public class JingTai {
 4
 5     public int a = 0; //实例属性
 6     public static int b = 0;//静态属性
 7     public void add()
 8     {
 9         a++;
10         System.out.print("a="+a);
11         b++;
12         System.out.println("b="+b);
13         //add1();
14     }
15     public static void add1()
16     {
17         b++;
18 //        JingTai t = new JingTai();
19 //        t.add();
20         //add()
21         //a++;
22     }
23 }

 1 package org.hanqi.pn0120;
 2
 3 public class DanLi {
 4
 5     //单例模式
 6     //只被实例化一次
 7     //1.隐藏默认构造方法
 8     private DanLi()
 9     {
10
11     }
12
13     //3.准备一个实例
14     private static DanLi danli;
15
16     //2.提供一个静态方法返回类的实例
17     public static DanLi init()
18     {
19         //实例化唯一的对象
20         //DanLi d = new DanLi();
21
22         //4.判断是否已被实例化
23         if(danli == null)
24         {
25             danli = new DanLi();
26         }
27         return danli;
28     }
29
30     private int a = 0;
31     public void add()
32     {
33         a++;
34         System.out.println("a ="+a);
35     }
36 }

 1 package org.hanqi.pn0120;
 2
 3 public class TestJingTai {
 4
 5     public static void main(String[] args) {
 6
 7         for(int i=0;i<10;i++)
 8         {
 9           JingTai t1 = new JingTai();
10           t1.add();
11         }
12           JingTai t2 = new JingTai();
13           t2.add();
14
15           JingTai.b+=1;
16           System.out.println("JingTai.b="+JingTai.b);
17         JingTai.add1();
18         System.out.println("JingTai.b="+JingTai.b);
19
20         DanLi d = DanLi.init();
21         d.add();
22         DanLi d1 = DanLi.init();
23         d1.add();
24         DanLi d2 = DanLi.init();
25         d2.add();
26     }
27 }

重载:

 1 package org.hanqi.pn0120;
 2
 3 public class JiSuanQi {
 4
 5     //整型加法
 6     public int add(int a,int b)
 7     {
 8         return a+b;
 9     }
10     //重载  参数个数不同
11     public double add(int c,int d,int e)
12     {
13         return c+d+e;
14     }
15     //浮点型加法      方法的重载(多态的一种体现)
16     //参数类型不同
17     public double add(double a,double b)
18     {
19         return a+b;
20     }
21
22     public static void main(String[] args) {
23
24         JiSuanQi j= new JiSuanQi();
25         System.out.println("20+50="+j.add(20, 50));
26         System.out.println("20.12+50.65="+j.add(20.12, 50.65));
27     }
28 }

继承:

1.父类:

 1 package org.hanqi.pn0120;
 2
 3 public class Father {
 4
 5     private String name;
 6     private int age;
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19
20     public Father()
21     {
22         System.out.println("父类的构造方法");
23     }
24     //工作
25     public void work()
26     {
27         System.out.println("我劳动我光荣");
28     }
29 }

2.子类

 1 package org.hanqi.pn0120;
 2
 3 public class Son extends Father {
 4     //Object a;所有类的父类
 5
 6     public Son()
 7     {
 8         System.out.println("子类的构造方法");
 9     }
10     public void sing()
11     {
12         System.out.println("我喜欢唱歌");
13     }
14     //覆盖(重写)
15     public void work()
16     {
17         System.out.println("我不喜欢上班,我要去参加海选");
18     }
19 }

测试类:

 1 package org.hanqi.pn0120;
 2
 3 public class TestJiCheng {
 4
 5     public static void main(String[] args) {
 6         //
 7         Father f = new Father();
 8         f.setName("父亲");
 9         f.setAge(50);
10         System.out.println("名字是:"+f.getName()+"  年龄是:"+f.getAge());
11         f.work();
12         Son s = new Son();
13         s.setName("儿子");
14         s.setAge(20);
15         System.out.println("名字是:"+s.getName()+"  年龄是:"+s.getAge());
16         s.work();
17         s.sing();
18     }
19 }

转载于:https://www.cnblogs.com/hanazawalove/p/5251697.html

课堂所讲整理:单例、静态、重载和继承相关推荐

  1. 结合Spring源码学习单例设计模式

    之前我学习了 Spring Ioc,明白了 Spring IoC 容器是一个管理Bean的容器,在Spring的定义中,它要求所有的IoC容器都需要实现接口 BeanFactory ,它是一个顶级容器 ...

  2. 单例设计模式-容器单例

    基于容器的单例模式,与享元模式类似,我们也可以使用容器单例模式,来管理多个单例对象,那我们通过coding,debug,讲解的方式来学习一下 package com.learn.design.patt ...

  3. Unity3D C# 单例属性和单例模板及优缺点

    1.什么是单例模式 相信我们都遇到过这样的问题: 我们使用new创建对象,这个对象需要全局共享只用这一个 我们需要用一种简单的方式全局能访问一个类创建的唯一对象 总结下来,我们经常需要创建一个类的单例 ...

  4. 单例模式不能被继承_Spring的单例实现原理

    单例模式有饿汉模式.懒汉模式.静态内部类.枚举等方式实现,但由于以上模式的构造方法是私有的,不可继承,Spring为实现单例类可继承,使用的是单例注册表的方式. 什么是单例注册表呢: Spring是通 ...

  5. iOS严谨单例写法/可继承单例

    单例模式在iOS开发中可能算是最常用的模式之一了,但是由于OC本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦. 今天就来说一说, 单例创建的方式和严谨的单例写法及可继承单例编写. 基本单例的 ...

  6. Unity中的单例方法

    前沿:在我的工作期间和学习期间,看过和学过很多单例方法,可谓是奇形怪状,不过都能实现其功能.今天我将学到的和自己思考出来的单例方法进行一个汇总和分析. 单例一:最简单的单例方法 A --- 继承于Mo ...

  7. Unity程序框架总结归置系列(1)——单例基类

    写在前面的话 这个系列的博客,是博主准备用来记录总结unity开发手游要用到的最基本的公共模块,也可以说是程序框架.当然,我只会在这里给出最基本的框架版本,希望能帮助自己理清思绪,向主程靠近. 因为每 ...

  8. 懵了,Java枚举单例模式比DCL和静态单例要好???

    点击关注公众号,实用技术文章及时了解 来源:liuchenyang0515.blog.csdn.net/article/ details/121049426 文章目录 双重校验锁单例(DCL) 为什么 ...

  9. python基础知识整理 第七节:单例设计模式、异常、模块、包、制作模块、文件

    1.单例设计模式 单例设计模式就是为对象在内存中分配空间的时候,永远只会返回一个唯一的固定的内存空间.这样就能保证在内存中这个类的对象只有唯一的一份,这个就叫做单例.(为对象分配空间使用的是内置方法_ ...

最新文章

  1. 啊D扫肉鸡+无远控双开XP3389 termsrvhack.dll_本地测试
  2. Unknown host ‘services.gradle.org‘ 解决方法
  3. 常用的函数式接口_Predicate接口
  4. Java多线程与网络编程综合使用
  5. 脑洞大开!油画渲染的新算法 Paint Transformer!ICCV2021 Oral!
  6. mysql ddl查询语句_SQL基础-----DDL
  7. 职场之道:明确自身的核心竞争力和占驻关键岗位
  8. C 标准库—— stdlib.h(包括 rand srand 的实现)
  9. POJ 1050 To the Max (最大子矩阵和)
  10. Matlab滤波器设计
  11. 【github】一口气发布1008种机器翻译模型,GitHub最火NLP项目大更新:涵盖140种语言组合...
  12. 斐波那契堆 - 解析与实现
  13. 终于有人把“元宇宙”说清楚了
  14. PIO(编程输入/输出模型)和DAM(直接访问内存)
  15. 黑苹果虚拟机——显卡只有7M玩玩就行
  16. 如何将手机里的PDF文件转换成Word文档
  17. 解决并隐藏h5页面在新版微信iOS 端出现底部白色导航条
  18. stm32f105vct6例程_STM32F105VCT6_USB_TEST
  19. MFC之路 串口通信篇(之三)
  20. python opencv获取图片分辨率_python-opencv遍历图片像素,并对像素进行操作

热门文章

  1. [转]微软的面试题及答案(超变态但很经典)
  2. 东芝R700深度解析 2010-11-26
  3. 美味奇缘_新美味终于来了
  4. 旅行社建立电商系统需要哪些功能?
  5. 如何对网站用户进行实名认证(使用阿里云服务)
  6. Python中列表的排序方法
  7. Python if语句嵌套
  8. XPS电脑没有声音的问题
  9. 解决微信小程序实时视频、直播插件 主播意外掉线再进入,观众端卡住断流,无法刷新的问题
  10. verilog中状态机的三种编码方式的比较(二进制码、独热码、格雷码)