java常用技术大全(二:java基础知识②)

九.面向对象(封装,重载,继承,多态,重写,抽象类,接口)

1.概念:

面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方法。

2.封装:

就是把属性私有化,提供公共方法访问私有对象。对于程序开发,我们只需要知道该方法实现的是什么功能,是否是自己需要的,不用去关心方法内部的实现细节。

3.重载:

名同参不同。在同一个类中我们可以定义多个方法,但有些方法功能类似,只是入参不一样,我们通常会用同样的方法名不同的入参来命名这样的方法,这就是方法的重载。

4.重写:

方法的重写是对父类的方法进行重写,方法名称和入参都和父类一致,实现的功能和逻辑可以由自己重新定义。

5.继承:

当多个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它类继承这个父类。继承后子  类自动拥有了父类的属性和方法,比如猫,狗,熊猫他们共同的特征都是动物,有颜色,会跑,会叫等特征。我们可以把这些特征抽象成我一个Animal类(也就是父类)。然而他们也有自己独特的特性,比如猫会抓老鼠,喵喵叫,熊猫有黑眼圈,能吃竹子,狗会汪汪。于是我们就根据这些独特的特征分别抽象出来Cat,Dog,Panda类等。他们拥有Animal类的一般属性和方法,也拥有自己特有的某些属性和方法。

但特别注意的是,父类的私有属性(private)和构造方法不能被继承。另外子类可以写自己特有的属性和方法,目  的 是实现功能的扩展,子类也可以复写父类的方法,即方法的重写。子类不能继承父类中访问权限private的成员变量和方法 
6.多态:

一种定义,多种实现。多态是指,针对某个类型的方法调用,其真正执行的方法取决于运行时期实际类型的方法。

7.抽象:

抽象是从许多事物中,舍弃个表的,非本质的属性,抽取出共同的,本质的属性的过程。例如教师,学生和工人,他们共同的特质是人类,既然是人类就有共同的属性:性别,年龄,身高,体重等。抽象的过程就是比较的过程,通过比较找出事物之间的共同属性,通过比较区分本质。

抽象类,含有抽象方法的类,用abstract 修饰。

8.接口:

极度抽象类。接口用于定义规则,具体的实现由子类完成。


十.集合

1.简介:

集合本质是基于某种数据结构数据容器。常见的数据结构:数组(Array)、集(Set)、队列 (Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和映射(Map)等结构。

Java中提供了丰富的集合接口和类,它们来自于java.util包。如图所示是Java主要的集合接口和 类,从图中可见Java集合类型分为:Collection和Map,Collection子接口有:Set、Queue和List等接口。 每一种集合接口描述了一种数据结构。

在这里插入图片描述

2.list集合

List集合中的元素是有序的,可以重复出现。List接口的实现类有:ArrayList 和 LinkedList。ArrayList是基于动态数组数据结构的实现,LinkedList 是基于链表数据结构的实现。ArrayList访问元素速度优于LinkedList,LinkedList占用的内存空间比较 大,但LinkedList在批量插入或删除数据时优于ArrayList。

(1)常用方法
List接口继承自Collection接口,List接口中的很多方法都继承自Collection接口的。List接口中常用方法如下。

a:操作元素
  get(int index):返回List集合中指定位置的元素。
  set(int index, Object element):用指定元素替换List集合中指定位置的元素。
  add(Object element):在List集合的尾部添加指定的元素。该方法是从Collection集合继承 过来的。
  add(int index, Object element):在List集合的指定位置插入指定元素。 remove(int index):移除List集合中指定位置的元素。
  remove(Object element):如果List集合中存在指定元素,则从List集合中移除第一次出现的 指定元素。该方法是从Collection集合继承过来的。
  clear():从List集合中移除所有元素。该方法是从Collection集合继承过来的。
b:判断元素
  isEmpty():判断List集合中是否有元素,没有返回true,有返回false。该方法是从 Collection集合继承过来的。
  contains(Object element):判断List集合中是否包含指定元素,包含返回true,不包含返回 false。该方法是从Collection集合继承过来的。
c:查询元素
  indexOf(Object o):从前往后查找List集合元素,返回第一次出现指定元素的索引,如果
此列表不包含该元素,则返回-1。
  lastIndexOf(Object o):从后往前查找List集合元素,返回第一次出现指定元素的索引,如果此列表不包含该元素,则返回-1。
d:其他
  iterator():返回迭代器(Iterator)对象,迭代器对象用于遍历集合。该方法是从Collection 集合继承过来的。
  size():返回List集合中的元素数,返回值是int类型。该方法是从Collection集合继承过来 的。
  subList(int fromIndex, int toIndex):返回List集合中指定的 fromIndex(包括 )和 toIndex(不包括)之间的元素集合,返回值为List集合。

(2)遍历集合
集合最常用的操作之一是遍历,遍历就是将集合中的每一个元素取出来,进行操作或计算。List集合遍历有三种方法:

a:使用for循环遍历:List集合可以使用for循环进行遍历,for循环中有循环变量,通过循环变量可
以访问List集合中的元素。
b:使用for-each循环遍历:for-each循环是针对遍历各种类型集合而推出的,笔者推荐使用这种遍历
方法。
c:使用迭代器遍历:Java提供了多种迭代器,List集合可以使用Iterator和ListIterator迭代器。

List<String> list = new ArrayList<String>();
 1.for循环遍历
 for (int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
 }

 2.使用for-each循环遍历
 for (String str:list){
            System.out.println(str);
 }

 3.使用迭代器遍历
 Iterator iterator = list.iterator();
 while (iterator.hasNext()){
            String str= iterator.next();
            System.out.println(str);
 }

3.Set集合
Set集合是由一串无序的,不能重复的相同类型元素构成的集合。List集合强调的是有序,Set集合强调的是不重复。当不考虑顺序,且没有重复元素时,Set集合和List集 合可以互相替换的。Set接口直接实现类主要是HashSet,HashSet是基于散列表数据结构的实现。

(1)常用方法
Set接口也继承自Collection接口,Set接口中大部分都是继承自Collection接口,这些方法如下。

a:操作元素
  add(Object element):在Set集合的尾部添加指定的元素。该方法是从Collection集合继承过来的。
  remove(Object elema:ent):如果Set集合中存在指定元素,则从Set集合中移除该元素。该方法是从Collection集合继承过来的。
  clear():从Set集合中移除所有元素。该方法是从Collection集合继承过来的。
b:判断元素
  isEmpty():判断Set集合中是否有元素,没有返回true,有返回false。该方法是从 Collection集合继承过来的。
  contains(Object element):判断Set集合中是否包含指定元素,包含返回true,不包含返回 false。该方法是从Collection集合继承过来的。
c:其他
  iterator():返回迭代器(Iterator)对象,迭代器对象用于遍历集合。该方法是从Collection
集合继承过来的。
  size():返回Set集合中的元素数,返回值是int类型。该方法是从Collection集合继承过来的。

(2)遍历集合

Set集合中的元素由于没有序号,所以不能使用for循环进行遍历,但可以使用for-each循环和迭代器进 行遍历。事实上这两种遍历方法也是继承自Collection集合,也就是说所有的Collection集合类型都有这 两种遍历方式。

        Set<String> set = new HashSet<String>();
        1.foreach遍历
        for (String str : set){
            System.out.println(str);
        }
        2.使用迭代器遍历集合
        Iterator iterator = set.iterator();
        while (iterator.hasNext()){
            String str  = iterator.next();
            System.out.println(str);
        }

4.Map集合
Map(映射)集合表示一种非常复杂的集合,允许按照某个键来访问元素。Map集合是由两个集合构 成的,一个是键(key)集合,一个是值(value)集合。键集合是Set类型,因此不能有重复的元素。 而值集合是Collection类型,可以有重复的元素。Map集合中的键和值是成对出现的。Map接口直接实现类主要是HashMap,HashMap是基于散列表数据结构的实现。

(1)常用方法
Map集合中包含两个集合(键和值),所以操作起来比较麻烦,Map接口提供很多方法用来管理和操 作集合。主要的方法如下。

a:操作元素
  get(Object key):返回指定键所对应的值;如果Map集合中不包含该键值对,则返回null。 put(Object key, Object value):指定键值对添加到集合中。
  remove(Object key):移除键值对。
  clear():移除Map集合中所有键值对。
b:判断元素
  isEmpty():判断Map集合中是否有键值对,没有返回true,有返回false。
  containsKey(Object key):判断键集合中是否包含指定元素,包含返回true,不包含返回false。
  containsValue(Object value):判断值集合中是否包含指定元素,包含返回true,不包含返回false。
c:查看集合
  keySet():返回Map中的所有键集合,返回值是Set类型。
  values():返回Map中的所有值集合,返回值是Collection类型。
  size():返回Map集合中键值对数。

(2)遍历集合

Map集合遍历与List和Set集合不同,Map有两个集合,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。这些遍历过程都可以使用for-each循环和迭代器进行遍历。

         Map<String,String> map = new HashMap<String,String>();   
        foreach遍历   
         for (String key:map){
            String value = map.get(key);
            System.out.println("key:" + key + ",value:" + value );
        }
       使用迭代器遍历集合
        Collection values = map.values();
        遍历值集合
        Iterator iterator = values.iterator();
        while (iterator.hasNext()){
            String str = iterator.next();
            System.out.println("value:" + str);
        }

 


十一.访问修饰符

  Java语言中,访问修饰符可以出现在类,成员变量,成员方法以及构造方法前,用来控制权限。Java提供了4种级别的访问控制

 public   权限最宽    修饰的类,属性,方法不仅可以跨类还可以跨包访问
private  权限最狭隘  修饰的类,属性,方法只能被该类的对象访问,即使是其子类也不能访问! 做的很绝-.-
protected  介于public和private之间 修饰的类,属性,方法能被该类的对象,本包,子类访问(即使没和父类在同一包中)
default   默认访问模式,只向同一个包中的类公开,即同包访问。


十二.static和final关键字

1.static关键字

 static关键字的中文含义是静态的意思。可以作用于变量,常量,方法,代码块等。使用static修饰的成员变量,常量,方法和代码分别称为静态变量,静态常量,静态方法,静态代码块,它们统称为静态成员。静态成员归整个类所有,不依赖特定的实例,被类的所有实例所共享的。只要被JVM加载就可以根据类名在全局数据区内找到。

静态方法:静态方法和和静态变量一样,可以不通过本类的实例对象而通过“类名.静态方法名”就可以调用。静态方法不能访问本类的实例变量和实例方法。因为静态资源在编译时(对象未实例化时)就被加载了,而非静态资源在运行时才被加载,多以静态方法只能调用静态变量,不能调用非静态资源!~

2.final关键字

final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变。

 

参考链接:

https://blog.csdn.net/poison6/article/details/80373767;

https://blog.csdn.net/weixin_45366499/article/details/104252033;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《Java核心技术:卷1 基础知识》是一本关于Java编程语言基础知识的电子书。Java是一种通用的、面向对象的编程语言,它被广泛应用于跨平台的应用软件开发。这本书帮助读者建立起Java编程的基础,并深入了解Java的核心技术。 这本电子书的内容主要涵盖了Java语言的基础知识,包括Java的数据类型、操作符、控制结构等基本概念。读者可以通过学习这些基础知识来了解Java语言的基本语法和编程规范,并学会如何编写简单的Java程序。 另外,这本电子书还介绍了Java的面向对象编程思想和相关的概念,如类、对象、封装、继承和多态等。通过学习这些内容,读者可以理解Java的面向对象编程模型,并学会如何在Java中设计和使用类、对象和接口等。 此外,这本书还涉及了Java的输入输出、异常处理、线程和并发编程、集合框架等内容,帮助读者理解和应用Java常用的编程技术和工具。 总而言之,《Java核心技术:卷1 基础知识》是一本适合初学者学习Java语言的电子书,通过阅读这本书,读者可以建立起Java编程的基础,并且能够进一步学习和应用Java的高级技术和框架。这本书详细介绍了Java基础知识,并提供了丰富的示例和练习,帮助读者巩固所学的知识。无论是想要学习Java编程的初学者,还是想要进一步提升Java编程技能的程序员,这本电子书都是一个不错的选择。 ### 回答2: 《Java核心技术: 卷1 基础知识》是一本非常重要的Java编程指南,几乎涵盖了Java编程的基础知识。 该书首先介绍了Java语言的核心特性,如数据类型、运算符、控制流程等。它详细解释了每个概念,并给出了示例代码,帮助读者更好地理解和应用这些概念。 接下来,该书详细介绍了面向对象编程。它涵盖了类和对象的概念,封装、继承和多态的原则,以及如何在Java中利用这些概念来编写可重用和灵活的代码。 该书还深入讨论了Java中最重要的概念之一:异常处理。它介绍了异常处理的原则和机制,并提供了如何编写健壮的代码以处理异常情况的实用技巧。 此外,该书还讨论了Java标准库的使用,包括输入输出、集合框架、多线程和网络编程等方面。它解释了这些库的基本原则和使用方法,并举例说明了如何利用它们来解决实际问题。 总的来说,《Java核心技术: 卷1 基础知识》是一本全面而且详细的Java编程指南。它适用于初学者和有一定经验的开发人员,提供了大量的示例代码和实用技巧,可以帮助读者建立坚实的Java编程基础,并提高他们的编码能力和效率。无论是想从零开始学习Java编程,还是需要深入了解Java核心知识,这本书都是一个非常有价值的资源。 ### 回答3: 《Java核心技术:卷1 基础知识》是一本讲述Java编程语言基础知识的图书,是学习Java语言的重要参考书籍。该书主要涵盖了Java语言的基本概念、语法、面向对象编程等内容,是学习Java语言入门的良好选择。 该书的电子版为电子书的形式,可以通过互联网下载和阅读。电子版可以在计算机、平板电脑、手机等设备上进行阅读,非常方便实用。 《Java核心技术:卷1 基础知识》电子版的优点包括便携性、灵活性和交互性。由于电子版可以随时随地进行阅读,学习者可以在自己方便的时间和地点进行学习。同时,电子版还可以进行搜索、书签标记等操作,方便学习者进行查找和复习。 该书的内容涉及Java语言的基本语法、控制流、数组、字符串、面向对象编程、异常处理、输入输出流等重要概念和技术。这些内容对于Java初学者来说都是非常重要的基础知识,通过学习这些内容可以帮助学习者掌握Java编程语言的基本特性和技术,并为后续学习Java开发框架、高级技术奠定基础。 综上所述,《Java核心技术:卷1 基础知识》电子版是一本非常好的Java学习资料,可以帮助学习者掌握Java编程语言的基本知识和技术,对于初学者来说是非常实用的参考书籍。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值