黑马程序员-Java-面向对象篇上《二》
1.面向对象的设计思想
面向过程:是以一个流程为单位,考虑它的实现方法,关心的是它的功能实现。
面向对象:是以具体事物为单位,考虑它的属性(特征)和动作(行为)。
2.面向对象思考问题的方式
有哪些对象?
对象有什么特征和功能?
对象之间的关系?
3.类和对象
3.1,面向对象的编程思想:是力图使计算机语言中对事物的描述尽可能的与现实中的该事物的本来面目一致。
3.2,类(class)和对象(object)是面向对象方法的核心概念。
类:是对一类事物特征和行为的描述,是抽象,概念上的定义。如:人类
对象:是该类事物中实际存在的个体,也叫实例(instance)
4.java与面向对象
对象是Java的核心,在Java中“万事万物皆对象”。
类描述了对象的属性和行为,类是对象的模板,图纸。
对象是类中实际存在的个体。
JDK提供了很多类给编程人员使用,编程人员也可以自定义类
类---(实例化)-->对象----(抽象)--->类。
5.封装类
对于OOP(面向对象编程)而言:
封装:就将一类型的事物的属性和方法一起包装到一个程序单元里,这个程序单元以类的形式实现。
抽象:将客观存在的事物特征用Java语言描述出来。抽象只关注一个主题与当前目标的有关方面,而忽略其他无关的方面
数据抽象:即将类的属性和方法抽象出来。
封装一个类:根据具体的应用从同一类型的对象里抽象出相关的属性和方法。
6.类中成员变量的默认值 (未初始化时)
byte=0 short=0 int=0 long=0L float=0.0F double=0.0D
boolean=false char='\u0000' 引用类型=null
7.this关键字
this可以看作一个变量,它的值就是当前对象的引用。
在方法中使用本类的属性时,都会隐含地使用this名称,当然你也可以明确指定
每个类中的每个非静态方法都会隐含一个this引用名称,它指向调用该方法的对象
this用法:
指向类中的成员变量
作为实参传入方法中
在构造方法中,this(...)调用其他构造方法
不能出现在static的方法,代码块内(super也是)
8.面向对象的三大特征
封装:对外部不可见
继承:扩展类的功能
多态:方法的重载,对象的多态性
类的封装性:
private:不允许任何其他类对其访问
默认(无修饰符):同一个包下的其他类才可以访问它。
9.static关键字(类加载时创建,即第一次使用)
1.static变量:类变量(静态变量),不可以在非static方法里声明,但可以使用
2.static方法:类方法(静态方法),只能调用本类中的其他静态成员,且不可以出现this和super
3.staitc静态代码块:只在类加载时,执行并只执行一次,常用来初始化类的静态成员变量
10.包(package)
为了方便管理众多的类,并解决类命名冲突的问题,Java引入了包(package)的概念。
包的作用:包隐藏了类并解决了类命名的冲突问题。
打包:package 包名,必须作为第一条语句放在Java源文件里(无此语句,则默认放在无名包下)
编译后,该类的字节码文件将会放在包名目录之下。
11.编译并生成包
1.当前目录下生成带包结构的字节码(' . '表示当前目录)
javac -d . 类名.java
2.在指定目录下生成带包结构的字节码
javac -d 指定目录(d:\test\) 类名.java
3.运行:
必须到上面编译时指定目录下去运行它, java 包名.类名 //不可少写包名
12.JDK6中主要的包介绍
java.lang— 包含了一些Java语言的核心类,如:String Math Integer System Thread
java.util— 包含了一些实用的工具类,如定义系统特性,日期时间,日历,集合类,Scanner
java.io— 包含多种输入输出的流类
java.net— 包含执行网络相关的操作的类
java.sql— Java操作数据库的一些API。
Java.text— 包含一些处理文本,日期,数字和消息的类和接口
转载于:https://blog.51cto.com/beyondbycyx/1673455
黑马程序员-Java-面向对象篇上《二》相关推荐
- 黑马程序员-java-高新技术上《九》
--Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- 一:java1.5新特性(1:提高安全性 2:提高效率 3:简化书写) ...
- 黑马程序员-----JAVA面向对象(三)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 模板方法设计模式: 解决的问题:当功能内部一部 ...
- 黑马程序员--java基础--异常(二)
-------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iO ...
- 黑马程序员_java高级篇网络编程TCP实战Day8(上)
---------------------ASP.Net+Android+IOS开发.Net培训.期待与您交流! ----------- 黑马程序员_java高级篇网络编程TCP实战Day8(上) ( ...
- 2023年黑马程序员Java学习路线图
2023年Java学科免费学习资源放送40+套课程,超过600小时的内容! 在过去的一年里,为了帮助更多人线上充电,学会更多技能,黑马程序员举办了 150+ 场免费直播公开课,新增精品视频教程 80+ ...
- 黑马 程序员——Java基础---流程控制
黑马程序员--Java基础---流程控制 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java提供了两种基本的流程控制结构:分支结构 ...
- 黑马程序员Java教程学习笔记(五)
学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(五) 日期时间:Date.Sim ...
- 黑马程序员Java教程学习笔记(三)
学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(三) 面向对象:设计对象.注意事 ...
- 黑马程序员Java零基础视频教程_下部(P52-P134)
黑马程序员Java零基础视频教程_下部(P52-P134) 1. 异常 1.1 异常体系介绍 1.2 编译时异常和运行时异常 1.3 异常在代码中的两个作用 1.4 JVM虚拟机默认处理异常的方式 1 ...
- 黑马程序员Java零基础视频教程_下部(P135-P200)
黑马程序员Java零基础视频教程_下部(P135-P200) 1 多线程 1.1 什么是多线程? 1.2 多线程的并发与并行 1.3 多线程的实现方式 1.3.1 继承Thread类的方式进行实现 1 ...
最新文章
- 史上讲的最好的Java NIO与IO的区别与应用
- lucene底层数据结构——底层filter bitset原理,时间序列数据压缩将同一时间数据压缩为一行...
- python初步入门_python如何入门
- 润乾集算报表多样性数据源之动态SQL传递
- linux常用命令笔记(持续更新)
- salt-master
- android按下enter键如何让光标跳到下一个edittext,Android:EditText回车跳到下一个输入框或登录...
- Linux下SVN搭建与配置
- 个人Androidstudio快捷键及常用设置配置
- linux-qcow2格式安装虚拟机及脚本一键克隆qcow2虚拟机
- 控制Dell PowerEdge R720的风扇转速 (利用IPMI)
- win7计算机桌面快捷键显示桌面,win7系统右击桌面快捷小工具使用介绍
- 北京服务器托管的必要性浅析
- 深入理解Docker ulimit
- 路由器、交换机的基本配置
- JavaSE探赜索隐之乾坤袋(集合)
- linux 中输入bash,Linux上Bash Shell编程
- python常用的内置对象有哪些_#【Python】【基础知识】【内置对象常用方法】
- 用python制作饼状图
- 运行java maven项目提醒 -SNAPSHOT.jar中没有主清单属性(maven项目指定主类)