尚硅谷_宋红康_参悟Java基础核心技术-精选文档

合集下载

尚硅谷_宋红康_第5章_高级类特性2

尚硅谷_宋红康_第5章_高级类特性2

关键字static
使用范围:
在Java类中,可用static修饰属性、方法、代码块、内部类
被修饰后的成员具备以下特点:
随着类的加载而加载 优先于对象存在
修饰的成员,被所有对象所共享 访问权限允许时,可不创建对象,直接被类调用
name:Lilei age:21 country:
类方法
因为不需要实例就可以访问static方法,因此static方法内部不 能有this。(也不能有super ? ) 重载的方法需要同时为static的或者非static的。
class Person { private int id; private static int total = 0; public static void setTotalPerson(int total){ this.total=total; //非法,在static方法中不能有this,也不能有super } public Person() { total++; id = total; }} public class TestPerson { public static void main(String[] args) { Person.setTotalPerson(3); } }
if(instance == null){ instance = new Singleton(); } return instance;
暂时懒汉式还存在线程 安全问题,讲到多线程 时,可修复
} }
举例:ng.Runtime
public class TestStatic { public static void main(String[] args) { Circle c1 = new Circle(2.0); Circle c2 = new Circle(3.0); c1.display(); c2.display(); } }

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

通过“继承”实现
特有的代码 学生类
特有的代码 教师类
特有的代码 工人类
特有的代码 农民类
继承的思想
人类
继承 (extends)
教师类
学生类
工人类
兽医类
面向对象思想“落地”法则(三)
继承的思想
多个类中存在相同属性和行为时,将这些内容抽取到 单独一个类中,那么多个类无需再定义这些属性和行 为,只要继承那个类即可。
new Car() new Car()
类名 数据(属性) 方法
举例
move() stop()
c1:Car
方法
c2:Car wheels=6 move() stop()
wheels=4 move() stop()
练习:创建Java自定义类
步骤: 1. 定义类(考虑修饰符、类名) 2. 编写类的属性(考虑修饰符、属性类型、属性名、 初始化值) 3. 编写类的方法(考虑修饰符、返回值类型、方法名、 形参等)
Java基础知识图解
JHale Waihona Puke VA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
三大 特性
接口
方法
设计模式
应用程序开发
Annotation
异常处理 多线程 反射
Oracle/MySQL
public class Animal{ private int legs;//将属性legs定义为private,只能被Animal类内部访问 public void setLegs(int i){ //在这里定义方法 eat() 和 move() if (i != 0 && i != 2 && i != 4){ System.out.println("Wrong number of legs!"); return; } legs=i; } public int getLegs(){ return legs; } } public class Zoo{ public static void main(String args[]){ Animal xb=new Animal(); xb.setLegs(4); //xb.setLegs(-1000); xb.legs=-1000; //非法 System.out.println(xb.getLegs()); } }

115个Java面试题和答案——终极(上)_尚硅谷_宋红康

115个Java面试题和答案——终极(上)_尚硅谷_宋红康

题目:115个Java面试题和答案——终极(上)本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java 和通用的面向对象编程的能力。

下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

目录面向对象编程(OOP)常见的Java问题Java线程Java集合类垃圾收集器面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。

下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。

代码复用。

增强代码的可靠性和灵活性。

增加代码的可理解性。

面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。

下面的章节我们会逐个分析这些特性。

封装封装给对象提供了隐藏内部特性和行为的能力。

对象提供一些能被其他对象访问的方法来改变它内部的数据。

在Java当中,有3种修饰符:public,private和protected。

每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。

下面列出了使用封装的一些好处:通过隐藏对象的属性来保护对象内部的状态。

提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。

禁止对象之间的不良交互提高模块化。

参考这个文档获取更多关于封装的细节和示例。

多态多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。

一个多态类型上的操作可以应用到其他类型的值上面。

继承继承给对象提供了从基类获取字段和方法的能力。

继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性。

抽象抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。

Java支持创建只暴漏接口而不包含方法实现的抽象的类。

Java核心技术第11版基础知识高级特性套装

Java核心技术第11版基础知识高级特性套装

Java中的泛型是一种类型参数化的机制,它可以在编译时检查类型安全,避 免了许多运行时类型错误的问题。
Java中的多线程机制非常强大,可以同时执行多个程序线程,提高程序的并 发性和响应性。
Java中的Java虚拟机是一种独立的计算机,它可以与操作系统和硬件平台相 互独立,实现跨平台性。
Java中的Java Native Interface(JNI)可以让Java程序调用本地代码,Hale Waihona Puke 实现Java程序与本地代码的交互。
该部分主要介绍了如何使用JDBC API访问关系型数据库。其中,详细介绍了 如何连接到数据库、执行SQL语句、处理结果集等核心技术。
该部分主要介绍了Java Web开发的基础知识和核心技术,包括Servlet、 JSP、JSF等。还介绍了如何使用Java编写基于Web的应用程序以及如何使用Java 进行Web通信。
阅读感受
《Java核心技术第11版基础知识高级特性套装》读后感
阅读完《Java核心技术第11版基础知识高级特性套装》这本书,我深感收获 巨大。这本书以其详尽的解析和深入的探讨,给我带来了极大的启发和思考。
我想表达一下我对这本书全面性的赞赏。从Java基础到高级特性,这本书几 乎涵盖了Java的所有重要知识点。每个章节都详细地介绍了Java的核心概念,包 括语法、数据类型、控制流、对象等,使得读者能够全面了解Java语言的基础知 识。同时,书中对于每个主题的深入探讨,也让我对Java有了更深入的理解。
作者简介
作者简介
这是《Java核心技术第11版基础知识高级特性套装》的读书笔记,暂无该书作者的介绍。
感谢观看
Java中的Java Persistence API(JPA)是一种对象关系映射(ORM)框架, 它可以让Java程序方便地访问数据库。

尚硅谷_宋红康_第7章_异常处理

尚硅谷_宋红康_第7章_异常处理

7.3 异常处理机制一
捕获异常的有关信息:
与其它对象一样,可以访问一个异常对象的成员变量或调用它的 方法。
getMessage() 获取异常信息,返回字符串 printStackTrace() 获取异常类名和异常信息,以及异常出
现在程序中的位置。返回值void。
异常名称
说明信息
堆栈信息
7.3 异常处理机制一
...... //当产生ExceptionName1型异常时的处置措施 } catch( ExceptionName2 e ){ ...... //当产生ExceptionName2型异常时的处置措施 } [ finally{ ...... //无论是否发生异常,都无条件执行的语句 }]
7.3 异常处理机制一
7.3 异常处理机制一
异常的抛出机制
为保证程序正常执行,代码必须对可能出现的异常进行处理。
7.3 异常处理机制一
如果一个方法内抛出异常,该异常对象会被抛给调用者方法中处 理。如果异常没有在调用者方法中处理,它继续被抛给这个调用 方法的上层方法。这个过程将一直继续下去,直到异常被处理。 这一过程称为捕获(catch)异常。
finally语句和catch语句是任选的
7.3 异常处理机制一
7.3 异常处理机制一:举例
public class IndexOutExp { public static void main(String[] args) { String friends[] = { "lisa", "bily", "kessy" }; try { for (int i = 0; i < 5; i++) { System.out.println(friends[i]); } } catch (ArrayIndexOutOfBoundsException e) { System.out.println("index err"); } System.out.println("\nthis is the end"); }

尚硅谷_宋红康_第2章_Java基本语法2

尚硅谷_宋红康_第2章_Java基本语法2

静态初始化:在定义数组的同时就为数组元素分配空间并赋 值。 MyDate dates[] = { int a[] = new int[]{ 3, 9, 8}; new MyDate(22, 7, 1964), int[] a = {3,9,8}; new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) }
练习1
1.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的 数组t作为其成员变量。数组元素未赋值。 定义类Array1,在Array1的main()方法中创建Pritimive对象d, 输出其成员变量t的三个元素值。 练习目的:检验基本数据类型数组创建时的自动赋值。 (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元 素值。 2. 定义类Student,包含三个属性:学号number(int),年级 state(int),成绩score(int)。 创建20个学生对象,学号为1到20,年 级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.random(),返回值类型double; 四舍五入取整:Math.round(double d),返回值类型long。
一维数组声明
一维数组的声明方式:
type var[] 或 type[] var; 例如:
int a[]; int[] a1; double b[]; Mydate[] c; //对象数组
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
一维数组初始化
0x1234 null null null null null stu[0]= 0x3344

[尚硅谷]_宋红康_Java 之23种设计模式解析

[尚硅谷]_宋红康_Java 之23种设计模式解析

—————————————————————————————题目:Java 之23种设计模式解析一、设计模式概述总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

具体如下:其中创建型有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。

115个Java面试题和答案——终极(下)_尚硅谷_宋红康

115个Java面试题和答案——终极(下)_尚硅谷_宋红康

题目:115个Java面试题和答案——终极(下)第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

异常处理Java小应用程序(Applet)SwingJDBC远程方法调用(RMI)ServletJSP异常处理43.Java中的两种异常类型是什么?他们有什么区别?Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。

不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。

相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。

这里有Java异常处理的一些小建议。

44.Java中Exception和Error有什么区别?Exception和Error都是Throwable的子类。

Exception用于用户程序可以捕获的异常情况。

Error 定义了不期望被用户程序捕获的异常。

45.1 throw和throws有什么区别?throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。

每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

45.2 异常处理的时候,finally代码块的重要性是什么?无论是否抛出异常,finally代码块总是会被执行。

就算是没有catch语句同时又抛出异常的情况下,finally代码块仍然会被执行。

最后要说的是,finally代码块主要用来释放资源,比如:I/O缓冲区,数据库连接。

46.异常处理完成以后,Exception对象会发生什么变化?Exception对象会在下一个垃圾回收过程中被回收掉。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

– 移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型 设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。
1.从java语言的诞生、特点说起
java之父Jgosling团队在开发”Green”项目时,发现C缺少垃圾回收系 统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想 要一种易于移植到各种设备上的平台。 Java确实是从C语言和C++语言继承了许多成份,甚 至可以将Java看成是类C语言发展和衍生的产物。比 如Java语言的变量声明,操作符形式,参数传递,流 程控制等方面和C语言、C++语言完全相同。但同时, Java是一个纯粹的面向对象的程序设计语言,它继承 了 C++语言面向对象技术的核心。Java舍弃了C语言 中容易引起错误的指针(以引用取代)、运算符重载 (operator overloading)、多重继承(以接口 取代)等特性,增加了垃圾回收器功能用于回收不再 被引用的对象所占据的内存空间。JDK1.5又引入了 泛型编程(Generic Programming)、类型安全的 枚举、不定长参数和自动装/拆箱
现实世界中的分子、原子又是由什么构成的呢?原子核、 电子!那么,Java中用类class来描述事物也是如此
属 性:对应类中的成员变量 行 为:对应类中的成员方法 Field = 属性 = 成员变量,Method = (成员)方法 = 函数
Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的 对象,它必须由Thread类或其子(孙)类来创建。
2.从java语言的市场需求来看
2019年2月 TIOBE 编程语言排行榜单
2.从java语言的市场需求来看
2019年2月 TIOBE 编程语言排行榜单
二、 如何看待java基础? 如何理解面向对象思想?
参悟Java基础 核心技术
讲师:宋红康
新浪微博:尚硅谷-宋红康
一、 Why is
?
Java在各领域中的应用
• 从Java的应用领域来分,Java语言的应用方向主要表现 在以下几个方面:
– 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。 Java的安全机制以及它的跨平台的优势,使它在分布式系统领域 开发中有广泛应用。应用领域包括金融、电信、交通、电子商务 等。 – Android平台应用:Android应用程序使用Java语言编写。 Android开发水平的高低很大程度上取决于Java语言核心能力是 否扎实。
java语言的主要特性
Java语言是易学的。Java语言源自语法与C语言和C++语言很接近,使 得大多数程序员很容易学习和使用Java。
Java语言是强制面向对象的。Java语言提供类、接口和继承等原语, 为了简单起见,只支持类之间的单继承,但支持接口之间的多继承, 并支持类与接口之间的实现机制(关键字为implements)。 Java语言是分布式的。Java语言支持Internet应用的开发,在基 本的Java应用编程接口中有一个网络应用编程接口(java net), 它提供了用于网络应用编程的类库,包括URL、URLConnection、 Socket、ServerSocket等。Java的RMI(远程方法激活)机制也 是开发分布式应用的重要手段。 Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收 集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选 择。
Java 基础
深入讲授 java 语言的核心内容:
涵盖 java 的基本语法结构、java的面向对象特征、 java集合框架体系、java泛型、异常处理、java 注 释、java的 io 流体系、java多线程编程、java网 络通信编程和 java 反射机制; 覆盖了ng、java.util、java.text、 java.io 和 java.nio、java.sql 包下绝大部分 类和接口。 全面介绍 java 7 的二进制整数、菱形语法、增强 switch语句、多异常捕获、自动关闭资源的try语句、 nio.2、aio等新特性。
java语言的主要特性
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供 了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、 字节代码检查。 Java语言是体系结构中立的。Java程序(后缀为java的文件)在 Java平台上被编译为体系结构中立的字节码格式(后缀为class的文 件),然后可以在实现这个Java平台的任何系统中运行。 Java语言是解释型的。如前所述,Java程序在Java平台上被编译为 字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运 行。 Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性 能还是较优的。
JDBC
集合
类库
IO
网络
何谓“面向对象”的编程思想?
顿 悟?OR 渐 悟?
例子:人把大象装冰箱 1.打开冰箱 2.把大象装进冰箱 3.把冰箱门关住
人{ 打开(冰箱){ 冰箱.开门(); } 操作(大象){ 大象.进入(冰箱); } 关闭(冰箱){ 冰箱.关门(); } } 冰箱{ 开门(){} 关门(){} }
Java基础知识图解
JAVA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
三大 特性
接口
方法
设计模式
应用程序开发
Annotation
异常处理 多线程 反射
Oracle/MySQL
人 冰箱 大象
大象{ 进入(冰箱){ } }
面向过程
面向对象
学习面向对象内容的三条主线
1.java类及类的成员
2.面向对象的三大特征
3.其它关键字
1.java类及类的成员
现实世界万事万物是由分子、原子构成的。同理,Java代 码世界是由诸多个不同功能的类构成的。 面向对象程序设计的重点是类的设计
相关文档
最新文档