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. POJ1044 Date bugs

    题目来源:http://poj.org/problem?id=1044 题目大意: 与众所周知的”千年虫“类似,某些计算机上存在日期记录的bug.它们的时钟有一个年份周期,每当到达最大值时,就会自动跳 ...

  2. java程序调用.net接口服务地址的写法

    参考文章:http://download.csdn.net/detail/davidiao/7424767 http://www.cnblogs.com/mq0036/p/3554002.html . ...

  3. QueueUtil

    import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import org.slf4 ...

  4. 关于vi 分屏的一些指令

    分屏都是以ctrl + W(大写) 首先,ctrl+ W  , v    为切屏 之后用 :e 打开其他文件 ctrl + W , c 为关闭当前分屏 ctrl + W , h 为切换到左侧分屏   ...

  5. C 碎片一 计算机知识

    一.计算机知识 1, 计算机组成及工作原理 计算机是硬件和软件的结合体.硬件由主机箱和外部设备组成,主机主要包括CPU.内存.主板.硬盘.光驱.各种扩展卡.连接线.电源等:外部设备包括鼠标.键盘等.软 ...

  6. 一、 Spring Cloud Eureka ,咱们先跑起来

    一.Spring Cloud 简介 Spring Cloud 是一个基于Spring Boot 实现的微服务架构开发工具.是一个涉及到服务治理.分布式配置管理.负载均衡.服务容错.API网关.消息总线 ...

  7. 如何进行大规模在线数据迁移(来自Stripe公司的经验)

    首发于笔者的微信公众号:技术心流FollowFlows 原文地址:Stripe Engineering Blog   各工程团队常面临一项共同挑战:重新设计数据模型以支持清晰准确的抽象和更复杂的功能. ...

  8. 系统整理 精讲 swift 泛型

    泛型是一种非常领会的语法,让我很是膜拜! 真是让人又爱又恨,学不懂的时候很抓狂 允许程序在函数,枚举,结构体,类中定义类型形参(类型可以动态改变) 每次使用可以传入不同类型的形参! Array< ...

  9. 常用模块random,time,os,sys,序列化模块

    一丶random模块 取随机数的模块 #导入random模块 import random #取随机小数: r = random.random() #取大于零且小于一之间的小数 print(r) #0. ...

  10. HttpURLConnection(http 1.1) 用法、状态码、状态描述

    最近研究了java的HttpURLConnection的用法, 这里简单的做一下记录: Java中可以使用HttpURLConnection来请求WEB资源. 1. URL请求的类别 分为二类,GET ...