黑马程序员--第四天(面向对象)

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、单例设计模式

设计模式:解决某一类问题最行之有效的方法。

单例设计模式是解决一个类在内存中只存在一个对象的这种情况。

想要保证对象唯一:1.禁止其它程序建立该类对象。

2.为了让其它程序可以访问该类对象,在本类中自定义一个对象。

3.对外提供访问方式。

代码实现:

1.将构造函数私有化(其它程序就不能创建对象了)。

2.在本类中创建对象。

3.提供一个方法可以获取到该对象。

饿汉式

class Single
{
 private Single(){};
 private static Single s=new Single;
 public static Single getInstance()
 {
  return s;
 }
}
class 
{
 public static void main(String[] args)
 {
  Single ss=Single.getInstance();
 }
}
对于事物如何描述的还是如何描述。

当需要保证对象唯一时就加上以上3步。

懒汉式

class Single
{
private Single(){};
private static Single s=null;
public static Single getInstance()
{
  if(s==null)

      s=new single();

     return s;

}

区别懒汉式延时加载。

二、继承

1.提高代码的复用;类与类之间产生了关系,有了这种关系才有了多态。

2.java只支持单继承不支持多继承,多继承容易带来安全隐患。

java支持多继承,也就是一个继承体系。

如何使用继承体系:

查阅父类的描述:父类中定义了该体系中共性的功能。

具体调用时要创建最子类的对象。因为可能父类不能创建对象,还有 子类对象可以使用更多的功能。

函数另一个特性--函数的覆盖(重写):当子类出现和父类一样的函数时,当子类对象调用该函数时,会运行子类函数的内容,父类的函数被覆盖。

重写与重载:

重载:只看参数列表。

重写:子父类函数一样。

结论:子类的所有构造函数,默认的都会访问父类中空参数的构造函数。

因为子类每一个构造函数内的第一行都有一句隐式super();

当父类中没有空参数的构造函数时,子类必须手动通过super或者this语句形式指定要访问的构造函数

3.final关键字

   被final修饰的类不可以被继承。为了避免被继承,被子类复写功能。

  被final修饰的变量是一个常量只能赋值一次。

4.抽象类、抽象方法

特点:抽象方法一定在抽象类中,都必须被abstract修饰。抽象类不可以创建对象,因为调用抽象方法没意义。

抽象类中的方法要被使用,要由子类复写所有的抽象方法后,创建子类使用。如果子类只复写了部分抽象方法,那么该子类还是抽象类。

/*
需求:获取一段程序运行的时间。
原理:获取程序开始和结束的时间相减即可。
获取时间:System.currentTimeMillis();
*/
class GetTime
{
 public void getTime()
 {
  long start =System.currentTimeMillis();
  for (int x=0;x<1000 ;x++ )
  {
   System.out.print(x);
  }


  long end =System.currentTimeMillis();
  System.out.println("毫秒"+(end-start));


 }
}

class  TempleDemo
{
 public static void main(String[] args)
 {
  GetTime gt=new GetTime();
  gt.getTime();
 }
}

 

5.接口

 接口中的方法全都是抽象方法,接口可以被类多实现,java不支持多继承但支持多实现。

接口的特点:接口是对外暴露的规则

接口是程序的功能扩展

类可以在继承一个类的同时实现多个接口。

接口与接口之间可以有继承关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:– JavaScript 中的患者数据管理系统 患者数据管理系统是为医院开发的 node JS 项目。通过使用此系统,您可以轻松访问患者数据,它具有成本效益,可改善患者护理和数据安全性。不仅如此,它还减少了错误范围。在运行项目之前,您需要下载 node.js。 这个患者数据管理项目包含 javascript、node.js 和 CSS。我们必须让服务器监听端口 3000,并使用 JSON 在客户端和服务器之间交换数据。这个项目会不断询问您有关插件更新的信息,因此请保持互联网畅通。此系统允许您执行 crud 操作。在这里,您是系统的管理员。您还可以添加所需的员工人数。此外,您还可以更新患者记录。该系统功能齐全且功能齐全。 要运行此项目,您需要在计算机上安装NodeJS并使用现代浏览器,例如 Google Chrome、  Mozilla Firefox。ReactJS项目中的此项目可免费下载源代码。有关项目演示,请查看下面的图像滑块。 对于手动安装 1.将主项目文件夹解压到任意目录 2.从 cmd 设置项目目录的路径 3. 输入命令“npm install” 4.完成后输入命令“npm start” 5.现在,您将获得一个 localhost:portnumber,并转到该 URL 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值