1.主函数是一类特殊的函数,作为程序入口,可被虚拟机调用。主函数格式是固定的。
public:函数访问权限最大。
static:代表函数随着类的加载已经存在。
void:主函数没有具体返回值。
main:不是关键字,是一个特殊的单词,可被虚拟机识别。
(String[] arr):函数的参数,字符串元素的数组。arr可以改变。
虚拟机在调用主函数时,传入的是new String[0];没有元素。调用为:类.方法名();
3.什么时候使用静态?静态随着类的加载而加载。
使用静态变量:对象中有共享数据时。该数据被静态修饰。特有数据被定义非静态存在堆内存中。
使用静态函数:【当功能内部没有访问到非静态数据(对象的特有数据),该功能可定义为静态的】
例如:public void show(){System.out.print("ok")};}可加static 
4.静态的应用(工具类)
每一个应用程序都有共性的功能,可以将这些功能进行抽取,独立封装。
如果一个类中没有特有的数据,只有一些指定的方法,那么可以将该类的方法静态化。并且可以将构造私有化
使新建的对象只能通过类名访问,那么可以节省堆内存中的空间。
5.静态代码块:
static{
静态代码块执行的语句。
  }
随着类的加载而【执行】,只执行一次。并优先于主函数、构造函数执行。
用于给类进行初始化。构造代码块给对象初始化。构造函数给对应对象初始化。
构造代码块:
{
构造代码块语句。
}
6.person p=new person();栈内存中main函数有 p(地址)
执行顺序:①加载person.class(类)文件加载到内存->②静态代码块执行(如果有的话)->③堆内存中空间开辟,分配地址
->④在堆内存中建立对象的特有属性,并进行默认初始化->⑤对属性进行显示初始化->⑥对对象进行构造代码块初始化。
->⑦对对象进行相应的构造函数初始化⑧将内存地址付给栈内存中的p变量。
7.非静态省略的【this.】静态省略的【类名.】
静态不访问堆内存(对象非静态)
构造函数指向堆内存中,方法存放在方法区。
8.设计模式:偏思想(解决一类问题最有效方法)
单例设计模式:解决一个类在内存中只存在一个对象。
单例设计模式2:饿汉式,懒汉式。
9.面向对象:继承,子继承父。 子extends父。
【this.本类】【super.父类】
继承:提高代码复用性,类与类产生关系多态性。
tips:必须是类与类之间有所属关系才可以继承。所属关系(is...a)
如果父类中内容子类不应该继承,那么不继承。
java中只支持单继承,不支持多继承。(一个类只能继承另一个类)
多继承带来隐患:当多个父类中定义相同功能,功能内容不相同时,会错误。
java支持多层继承(b extends a;c extends b)
使用继承体系中功能:查阅父类功能,创建子类对象使用功能。
【变量:出现非私有同名变量,用本类时加this。用父类加super。
【函数:子类出现和父类一样的函数,子类对象调用该函数,会运行子类函数的内容,如同父类函数被覆盖一样。这种情况是函数的另一个特性;重写
10.聚集: has a(子中有父)
   聚合:
11.final:
1.可以修饰类,函数,变量。
2.被final修饰的类不可以继承。
3.被final修饰的方法不可以被复写,也不可以被继承
4.被final修饰的变量只能赋值一次,既可以修饰成员变量,又能修饰局部变量。加上final修饰规范为所有字母大写,多个单词组成,单词间通过_连接。
5.内部类定义在类中的局部位置时,只能访问被final修饰的局部变量。
12.抽象类:当多个类中出现相同的功能,但功能主体不同,向上抽取,只定义功能,不抽取功能主体。
1.抽象方法在抽象类中。
2.抽象方法和抽象类必须被abstract关键字修饰。
3.抽象类不可以用new创建对象,调用抽象方法没意义。
4.抽象类中方法被使用,必须由子类复写所有的抽象方法后,建立子类对象调用,【如果子类只覆盖部分抽象方法,那么子类是抽象类】
13.面向对象 接口:(like...a...)
接口:可以理解为一个特殊的抽象类。当抽象类方法都是抽象的,那么该类可以通过接口的形式来表示。
【①接口不可以创建对象,因为有抽象方法。需要被子类实现。②子类对接口中抽象方法全覆盖后,子类才可以实例化。否则子类是一个抽象类。】
③接口中都是静态常量④接口可以被类 多实现(类与接口之间是实现关系),是对多继承不支持转换形式。】
class 用于定义类。 interface 用于定义接口。
接口格式特点:
1.接口常见定义:常量(final),抽象方法
2.接口中成员有固定修饰符,成员都是public。
常量:public static final.
方法:public abstract.
14.接口中继承改为实现(implements)
15.一个类可以继承一个类同时继承多接口(只有接口间存在多继承)。
特点:接口可以被类 多实现(类与接口之间是实现关系),是对多继承不支持转换形式。
接口与接口可以多继承。
接口对外暴露规则
接口是程序的功能扩展
接口可以用来多实现。
16.基本功能定义在类中,扩展功能定义在接口中

java面向对象思想2的更多相关文章

  1. 06-03 Java 面向对象思想概述、开发设计特征,类和对象的定义使用,对象内存图

    面向对象思想概述.开发设计特征 1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一 ...

  2. JAVA面向对象思想理解分析

    1.面向对象是面向过程而言.两者都是一种思想.面向过程:强调的是功能行为.(强调过程.动作)面向对象:将功能封装进对象,强调了具备了功能的对象.(强调对象.事物)面向对象是基于面向过程的.将复杂的事情 ...

  3. 薪资管理系统(Java面向对象思想)

    package com.test3; import java.util.*; import java.io.*; /** * @author qingfeng * 重要思想:面向对象思想(添加员工管理 ...

  4. java面向对象思想1

    1.面向对象是面向过程而言.两者都是一种思想.面向过程:强调的是功能行为.(强调过程.动作)面向对象:将功能封装进对象,强调了具备了功能的对象.(强调对象.事物)面向对象是基于面向过程的.将复杂的事情 ...

  5. Java面向对象思想解决猜拳问题

    第一个面向对象的程序: 一个控制台猜拳小游戏: 第一步选择角色: 第二部选择剪刀,石头,布,与电脑进行PK: 第三部选择继续或者选择结束; 结束显示比赛的局数,以及各自赢得的分数: 设计思路 分析问题 ...

  6. java面向对象思想之封装

    一.什么是封装 菜鸟教程对封装的解释是"在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法.".简单来说就 ...

  7. 《Head First Java》读书笔记(2) - Java面向对象思想

    1.了解继承 对象继承实际上就是一种"is - a"的关系,如上图的"PantherMan is a SuperHero?",是,那么便属于继承的理解. 继承能 ...

  8. JAVA面向对象思想

    1.面向对象的基本特征     面向对象具有三个基本特征:封装.多态.继承.      1)封装             封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能. ...

  9. 浅谈Java面向对象思想

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

随机推荐

  1. springMvc json 参数

    以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一 ...

  2. Sharepoint JSCOM 列表操作

    SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItemsInclude); //确保js文件加载,再执行方法 function ...

  3. java中存在垃圾回收机制,但是还会有内存泄漏的问题,原因是

    答案是肯定的,但不能拿这一句回答面试官的问题.分析:JAVA是支持垃圾回收机制的,在这样的一个背景下,内存泄露又被称为“无意识的对象保持”.如果一个对象引用被无意识地保留下来,那么垃圾回收器不仅不会处 ...

  4. 006 ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

  5. CodeForces - 95B

    Petya loves lucky numbers. Everybody knows that positive integers are lucky if their decimal represe ...

  6. android 开发AlertDialog.builder对话框的实现

    AndroidAPI提供了Dialog对话框控件,但google明确指出不建议开发者只是使用Dialog来创建对话框,而应该自定义对话框或者使用API中提供的Dialog的子类,如AlertDialo ...

  7. Java中的for循环——通过示例学习Java编程(9)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件 ...

  8. qrcode.js的识别解析二维码图片和生成二维码图片

    qrcode只通过前端就能生成二维码和解析二维码图片, 首先要引入文件qrcode.js,下载地址为:http://static.runoob.com/download/qrcodejs-04f46c ...

  9. ios下表单disabled样式重置

    在做最近的一个活动项目时,需要用到表单的disabled状态,但是在IOS下那颜色不是一般的浅,就跟没有一样,一开始通过如下样式重置: input:disabled, input[disabled]{ ...

  10. [Java]在xp系统下java调用wmic命令获取窗口返回信息无反应(阻塞)的解决方案

    背景:本人写了一段java代码,调用cmd命令“wmic ...”来获取系统cpu.mem.handle等资源信息.在win7操作系统下运行没有问题,在xp系统下却发现读取窗口反馈信息时无反应(阻塞) ...