目录 编程思想 面向对象 面向过程 对象与类的概念 对象与类的创建 对象的实例化方法-独有数据 编程思想 1.面向对象 1.1. 面向对象前戏 案例:人狗大战 # 需求:人狗大战# 1.'创造'出人和狗步骤1: 模拟一个个人和狗# person1 = { # 'name': 'jason',# 'attack_val': 800,# 'life_val': 2000# }# person2 = {# 'name': 'kevin',# 'attack_val': 100,# 'life_val'…
编程思想: 把一些生活中做事的经验融入到程序中 面向过程:凡事都要亲力亲为,每件事的具体过程都要知道,注重的是过程 面向对象:根据需求找对象,所有的事都用对象来做,注重的是结果 面向对象特性: 封装,继承,多态 (抽象性)    js不是面向对象的语言,但是可以模拟面向对象的思想 js是一门基于对象的语言   什么是对象? 看的见,摸得到 or 具体特指的某个东西 1. 找对象 描述找对象 文字描述找对象 2. 分析对象有什么特点:特征和行为 3. 对象:有属性和方法,具体特指的某个事物 4. …
Java是一门面向对象的语言,在Java程序运行的过程中,无时无刻都会有对象被创建出来,在程序语言中,创建对象(例如克隆,反序列化)通常仅仅是一个new关键字,但是在虚拟机中是怎样的呢?本文主要了解一下一个对象(仅代指普通对象,不包含Class类和数组)在虚拟机中的创建过程. 当虚拟机遇到一条new指令时,首先将去检查这个指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析和初始化过,如果没有,那必须先执行相应的类的加载过程. 在类加载检查通过后,接下…
本文主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题.阅读本文应该着重掌握如下技术点: synchronized对象监视器为Object时的使用. synchronized对象监视器为Class时的使用. 非线程安全是如何出现的. 关键字volatile的主要作用. 关键字volatile与synchronized的区别及使用情况. 1.synchronized同步方法 "非线程安全"其实会在多个线程对同一个对象…
程序设计的本质就是使用编程语言解决某一类具体问题.对问题的定义叫建模,例如定义问题域中的各种名词,动作,结果等.针对具体的问题提出的解决方案叫算法. 面向对象程序设计的挑战之一,就是在问题空间的元素和解空间的对象之间建立一对一的映射. 对象,就是对问题域或者解空间里各种“事物”的定义.对对象的设计过程,就是对问题的求解过程. 万物皆是对象,程序就是对象的集合,对象与对象之间通过消息通信. 每个对象都提供接口,通过接口对外提供服务,这里的接口是指对象所定义的方法. 在对象的设计上,有多种指导思想,…
创建泛型类 首先介绍一个一般的,非泛型的简化链表类,可以包含任意类型的对象,以后再把这个类转化为泛型类. 在立案表中,一个元素引用下一个元素.所以必须创建一个类,他将对象封装在链表中,并引用下一个对象.类LinkedListNode包含一个属性value,该属性用构造函数初始化,另外,LinkedlistNode类包含对链表中下一个元素和上一个元素的引用,这些元素都可以从属性中访问. public class LinkedListNode { public LinkedListNode(obje…
1: java  单根继承的优点? 方便垃圾回收: 垃圾回收的设计会方便实现.   多重继承的函数重名的问题. 2: 向下转型和向上转型?    向下转型不安全,向上转型安全. 3: system.gc() ?   只是提醒JVM做垃圾处理.不保证一定做. 4:ArrayList  VS  LinkedList? 5: java 基本类型大小? 对应的包装类用处? boolean(没有明确指定)    char(2)  byte(1)   short(2)   int(4)    long(8)…
1.抽象过程 所有编程语言都提供抽象机制.可以认为,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量,所谓的'类型'是指“所抽象的是什么?”汇编语言是对底层机器的轻微抽象. java的基本 特性:        (1) 万物皆为对象 (2) 程序是对象的集合,它们通过发送消息来告知彼此所要做的 (3) 每个对象都有自己的由其他对象所构成的存储   换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象 (4) 每个对象都拥有其类型 (5) 某一特定类型的所有对象都可以接收同样的消息…
javascript面向对象编程方式,对于初学者来说,会比较难懂. 要学会面向对象以及使用面向对象编程,理解对象的创建在内存中的表示,至关重要. 首先,我们来一段简单的对象创建代码 var obj = new Object(); obj.userName = 'ghostwu'; obj.showUserName = function(){ return obj.userName; }; var obj2 = new Object(); obj2.userName = '卫庄'; obj2.sh…
2.1用应用操作对象 String s; 这里所创建的只是引用,并不是对象.如果此时向s发送一个消息,就会返回一个运行时错误.这是因为此时s没有和任何事物关联.因此,一种安全的做法是:创建一个引用的同时便进行初始化. 2.2必须由你创建所有对象 一旦创建了一个引用,就希望它能与一个新的对象相关联.通常用new操作符来实现这一目的. String s = new String("asdf"); 2.2.1存储到什么地方 1)寄存器.这是最快的存储区,因为它不同于其他存储区的地方——处理器…