java面向对象基础
1.对象:用来描述客观事物的一个实体,由一组属性和方法构成。
属性:对象具有的各种特征。(成员变量)
方法:对象执行的操作。
2.类:一组具有相同属性和方法的对象的一个归纳类型。对象是类的一个具体表现。
3.面向对象的三大特性:封装,继承,多态。
4.步骤:编写类-->创建对象-->调用类的某个方法,完成某种功能。
类名 对象名=new 类名(); 对象.属性 对象.方法
(实际上为构造函数)
5.类:【访问控制符】class 类名{}
属性:【访问控制符】数据类型 变量名;
方法:【访问控制符】void/返回值类型 方法名(参数){}
6.构造函数:public 类名(参数){} 与类名相同,无返回值;对变量进行初始化
7.方法的返回值:无返回值:void;有返回值,返回什么类型就写什么样的返回值类型,并要写return。
8.方法的调用:调用本类的方法,直接用 方法名();
调用他类的方法,类名 对象名=new 类名();
对象.方法名();
9.类的封装:将数据与行为结合在一个包里,并对对象的使用者隐藏数据(private)的实现方式,通过get和set方法对数据进行访问。对象中的数据被称为实例域,操纵数据的操作被称为方法。
装箱:基本数据类型(例:int)转换成其包装类(例:Integer)的过程。
拆箱:与装箱的过程相反。
10.对实例域做出修改的方法叫做更改器方法(set),仅访问实例域而不加修改的方法叫做访问器方法(get)。快捷键调出get和set:alt+shift+s
11.this关键字:表示当前对象。
12.一个方法可以访问所属类的所有对象的私有数据。
13.final实例域:对象构建之后不会被修改,即没有set方法,通常把final放在private后面。
14.类的继承:如果组件A继承组件B,那么组件A就拥有组件B的所有成员(属性和方法)。其中,组件B叫做父类或超类,组件A是子类。提高代码的可复用性和可扩展性。Java中允许多层继承(子类可以成为其他类的父类),但不允许多重继承(子类只能是一个类的子类,不能是多个类的子类)。在子类中引用父类的某些属性和方法时,可以用super.属性/方法。使用构造函数时,A有父类B时,先调用父类构造函数,再调用子类构造函数。如果没写调用哪个父类,就默认调用父类缺省构造函数super(),如果想人为调用父类的某个构造函数,就用super(参数列表)。在继承关系中,子类重写父类的方法,方法的名字,参数,返回值要和父类的一样。调用一个方法时,首先在子类里找是否有这个方法,若是有一个重写的方法,则他直接调用子类的方法即可,若是没有,再从父类里找。
局部变量和全局(成员)变量:成员变量为对象的属性,局部变量为方法里的变量。两种变量同时出现时,局部变量优先级高。局部变量必须要初始化,成员变量可以自动赋初值:null,0,false。
java面向对象基础的更多相关文章
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
- 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder
[重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final ...
- 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符
[重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...
- 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...
- 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...
- 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字
084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...
- 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法
083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...
- 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法
082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...
- 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字
081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
随机推荐
- HTML5视频Video 音频Audio
视频协议 视频格式 Flash HTML5 HTTP flv HTTP f4v HTTP mp4 HTTP m3u8 HTTP webm HTTP ogg RTMP flv RTMP f4v RTMP ...
- js将金额专成每隔3位数加逗号
js将金额专成每隔3位数加逗号,比如 12345.00 转成 12,345.00; 懒得解释具体代码如下 //分割 String.prototype.joinByNum = function(num, ...
- maven clean deploy -Pproduction
今天我修改了公司的组件,要发布.然后腾飞告诉我用这个命令:clean deploy -Pproduction发布. 然后报了个401错误.(当时还是不知道401是什么错)正好经理在旁边问了一下,没想到 ...
- Tomcat Start 报错 (COULD NOT DELETE MAY BE LOCKED BY ANOTHER PROCESS)
jsp文件重命名后发布不起来了,提示文件被占用,原因是当前的java ee项目 与它引用的java项目 依赖了相同的jar包,删除了clean 再发布,问题解决,如有需要再引用回来 http://it ...
- label标签使用过程中遇到的问题
最近在做东西时候使用到了label标签,由于之前很少使用label标签,所以就遇到一个很奇怪的问题.什么问题呢?下面来看一个效果 <!DOCTYPE html> <html> ...
- js取整函数
1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.fl ...
- 【原创】刚刚发现的SVN的几个有用的功能
一.可看到一个文件/目录跨Branch的所有变更历程 二.SVN可自动利用Word2013的审阅功能对比docx文档
- java 8 原版 api 下载地址,
http://download.oracle.com/otn-pub/java/javafx/8.0.25-b17/javafx-8u25-apidocs.zip?AuthParam=14174994 ...
- MyEclipse、Eclipse复制web项目
假设现在已经有一个Java Web项目 ProjectA,现在想做另外一个项目ProjectB,它里面绝大部分功能和结构都可以复用ProjectA中的: 我们就可以通过复制项目的方法来做,具体步骤如下 ...
- ruby HTTPS请求
require 'uri'require 'net/http'require 'net/https' @toSend = { "date" => "2012-07- ...