初级java

三大特性:

封装继承多态

以我对他的理解是这样的,封装的话,我们可以从他的字面意思开始理解,封的话,可以理解为一个密闭的空间;装的话,可以理解为打包起来;例如说java中的一个个类,我们也可以看成是一种封装,他封装了方法与属性,这也是一种封装的体现;方法的话,是一些代码片段的封装;java中的工程我们也可以看成一个封装,一个个类包成一个整体;这些都可以看成是封装的体现;封装的话,就是将一些不愿意暴露给别人的一些细节给包起来;通过权限定义符进行修饰,控制他是否可见,因为有些外部不关心内部怎么实现,只关心结果的,就可以将该部分进行封装;比如我们的public方法里面包了很多的private修饰的;这就是我这边所理解的封装

继承的话,我们可以从万事万物皆对象,所有的类都是object的子类,最终都是继承到object,java中最重要的是,单继承,子类只能继承一个父类。子类可以继承到父类的方法和属性,但是如果说父类中有不愿意被继承的,可以通过一些权限修饰符进行修饰;继承其实我们也可以看成是一个封装,他其实是将一些相同的属性及方法进行封装,然后子类去继承到父类的这些方法;那对于子类中一些特定的表现,子类可以通过重写父类的方法,将其变为自己所特有的方法去进行展示;这也是继承中的方法重写,他与重载是不一样的;继承中还会有一些关键字,例如子类需要调用父类的属性和方法时,通过super.进行调用;那如果说他要调用自己的属性与方法时,可以通过this.进行调用;

多态:父类引用指向子类对象,栈中的父类引用,指向堆中的子类对象

我们也是可以从万事万物皆对象来理解,一个个类都是object的子类,他们的表现是千千万万的,每个都是不一样;例如我们比较了解的动物,他下面会有很多种动物,比如狗、猫、鸟等等,这些其实都是属于动物,都是继承动物;

这三大特性其实是息息相关的,相互联系的

servlet方法的链接

url

http:127.0.0.1:8080

http是协议名

127.0.0.1是localhost被dns解析之后的ip

8080是代表服务器上的软件端口,这个是代表的是tomcat这个软件所特有的端口

3306是mysql的端口

服务器上面其实会有很多的软件,每个软件都有对应端口链接,服务器上的端口号从0--65535;每个端口只能有一个软件所链接,但是一个软件是可以有多个端口的;

如果这个端口被一个软件所占用,再去打开的话,就会报相应的错误,这也是在tomcat在开启时,容易出现的一个问题;

他的实现效果,可以查看上图与下方的代码块

Web.xml的配置

  <servlet>    
      <servlet-name>aaa</servlet-name>    
      <servlet-class>SnoopServlet</servlet-class>    
   </servlet>    
   <servlet-mapping>    
      <servlet-name>aaa</servlet-name>    
      <url-pattern>/hello</url-pattern>    
   </servlet-mapping>    

抽象类与接口的差别:

抽象类:一个类中的方法没有具体的方法体,这个类就可以是抽象类,用abstract修饰;就是把能够通用的功能做实现,不能通用的功能继续抽象,到其实体自类中根据实体类的特征去做实现,--当子类继承了对应的抽象类时,就必须对其中的方法进行重写;

抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。如果一个类继承抽象类,那么就必须为基类中的抽象方法提供定义。

抽象类和普通类的主要有三点区别:

1、抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
2、抽象类不能用来创建对象;
3、如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。

 

接口:相是对方法的抽象,当实现该接口,就必须实行里面的方法;他也是没有方法体的,但是不需要用abstract去修饰;

抽象类--关键字:abstract
     --方法:有抽象方法,也可有普通方法
接口  --关键字:interface
     --方法:都是抽象方

 

  • 类与类:有继承关系--单继承、多继承
  • 接口与接口:有继承关系--单继承、多继承
  • 类与接口:有实现关系--单实现、多实现

 

总结:

1、一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
2、在abstract class中可以有自己的成员属性,也可以有非abstract的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所以的成员方法都是abstract的。
3、实现抽象类和接口的类必须实现其中的所有方法,如果子类没有实现抽象类的所有抽象方法,那么子类也必须是抽象类;但是子类实现接口,则必须把接口的所有抽象方法实现。接口也可以继承接口,此时不需要实现父类接口。抽象类中可以有非抽象方法。接口中则不能有实现方法。
4、接口中定义的变量默认都是public static final型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
5、接口中的方法默认都是public abstract类型的,也只能是这个类型不能是static方法。static方法是类方法,它是不允许子类覆写(override)的。但是抽象类允许有static方法。 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值