`
java_hanyu
  • 浏览: 71477 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

core java学习笔记(五)

阅读更多

修饰符:

static: ( 课堂代码:StaticTest.java)
 
 静态的 ,能修饰属性,能修饰方法,能修饰代码块

 静态属性:
  Animal{
   String name;
   int age;
   static int count;  //类变量
  }
  Animal.count=5; 使用方法,用类名调用

  本类的所有对象都使用这个变量,全类唯一,全类公有,类加载的时候初始化
 
 静态方法:
  public static void addCount(){}
  
  Animal.addCount();

  注意:在静态方法内部中不能访问其它非静态成员,非静态方法可以访问静态成员
 
 静态代码块:不包含在任何方法内部。
      静态初始化代码块在类加载的时候运行,所以只执行一次。
      静态初始化代码块和静态方法一样也不能访问非静态成员。
 
final:

 修饰变量(实例变量,局部变量,类变量):final修饰变量会使变量成为常量,一旦赋值,不能改变,表示属性的值是不可变的

      对于实例变量是一个final的,要么在初始化属性时赋值,要么在构造方法中赋值,
      只能一次且还不能不赋值,即必须在构造对象后有值

      若修饰类变量,即若是final static的类常量,必须在类加载后有值,
      即要么在初始化属性或者要么在静态初始化代码块中赋值

      
 修饰方法:表示这个方法是最终的方法,不能在子类中去覆盖这个方法
 
 修饰类:表示这个类不能被继承,不能有子类
 
abstract:抽象的  
 修饰类:抽象类不能new对象(不能实例化),抽象类不能作为运行时类型,抽象类可以是编译时类型(可以声明引用)
  抽象类可以有构造方法(要被子类调用),可以有构造方法,可以有静态方不法,也可以有主方法
  
 修饰方法:只有定义没有实现
    例:abstract public void m();
 
 注意:如果一个类中有抽象方法,这个类必须是抽象类,为了避免new对象后m()没有实例。

       如果某个类没有任何抽象方法,这个类也可以定义为抽象类,即抽象类中不一定有抽象方法,可以有非抽象方法。

       抽象方法是留给子类实现的,子类必须实现抽象方法,否则也不能new对象
     
      abstract 与 final  不能同时出现
      abstract 与 static 也不能同时出现
      abstract 与 private 也不能同时出现

interface(接口):

 接口在本质上是一个特殊的抽象类,在语法上和类有区别。

 属性:接口中的所有属性都是公开静态常量
 方法:接口中所有方法都是公开抽象方法
 构造方法:接口没有构造方法

 定义接口:public interface Mobile{
    public static final int a;//若写成int a; 不给任何修饰的话,系统会默认为它是public static final的,所以在定义时必须赋值。
   public void move();
  }

  implements 实现,变相的继承

  public class Animal implements Mobile{
  }
 
 接口与接口之间可以有继承关系,允许多继承。
 一个类在继承另一个类的同时可以实现接口,并且可实现多个接口
 
 类和接口之间可以定义实现关系,逻辑上相当于接口是实现类的父类型,
 当我们用类去实现接口时,如果不希望实现类是抽象类的话,那么就要实现接口中定义的所有的方法

 接口和多态配合使用,接口不能构造对象,可以作为引用类型(编译时类型),只能调用接口中定义的方法,运行时找接口实现类中实现的方法
 
 如果对接口类型的引用调用方法,调用的一定是接口实现中的方法
 
 所谓接口对象指的是接口实现类的对象

 子             父

       继承
 类 -----------类(单个)
     extends

      实现
 类------------接口(多个)
     implements
 
       多继承
 接口----------接口(多个)
      extends


 接口的使用:1、功能模块 2、标准,一个接口就是一个标准,把制定标准、使用标准、和实现标准分开,标准的使用者和标准的实现者通过标准间接发生联系。

访问权限:编译时概念。


Object: 

 boolean equals(Object obj):判断两个对象内容是否“相等”。
 ==(双等号):判断的是地址
 .equals  :判断的是内容
 
 写equals方法时:
  1、自反性判断    if(this==obj) return true;
  2、判断是否为null   if(obj==null) return false;
  3、判断类型是否兼容    if(!(obj instanceof 类)) return false;  或 if(this.getClass()!=obj.getClass()) return false;
  4、强制类型转换,判断每一个属性:简单类型用==,对象类型用.equals

分享到:
评论

相关推荐

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    达内core_java学习笔记

    Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。

    corejava学习笔记

    Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    Core Java 学习笔记

    《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...

    corejava学习笔记.doc

    Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。

    core java 学习笔记

    这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection是所有集合类的顶级接口,它定义了一些基本的操作,如添加元素(add)、获取元素数量(size)、...

    达内java学习笔记全套

    【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...

    CoreJava学习笔记.doc

    《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...

    学习笔记 java\CoreJava笔记\CoreJava_day12

    在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...

    达内COREJAVA学习笔记.doc

    ### 达内COREJAVA学习笔记知识点详述 #### 一、Java版本与平台概述 - **J2SE**: Java Standard Edition,即Java标准版,针对桌面应用开发。 - **JAVA SE**: 指的是Java SE 5.0,发布于2004年,增加了泛型、枚举等...

    java学习笔记 达内笔记(经典)

    (二)面向对象技术总结.pdf (三)corejava高级特性总结 (四)接口学习总结 (五)异常和内部类 (六)集合框架学习总结 (七)GUI和AWT事件模型 (八)多线程学习总结 (九)输入输出流学习总结 (十)网络编程学习总结

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

    学习笔记 java\CoreJava笔记\CoreJava_day06

    在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...

    java学习笔记(corejava)部分.rar

    这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...

    java学习笔记 自己的笔记都以注释的形式写在代码里面

    java学习笔记 简介: java 学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你...

    CoreJava卷一学习笔记

    自己学习corejava核心技术卷一时的学习笔记和心得,提出的一些问题

Global site tag (gtag.js) - Google Analytics