类对象

[Day11]接口、多态

蓝咒 提交于 2020-02-13 12:16:52
1.接口   (1)接口定义: interface关 键字 ,所在文件仍然是.java文件,编译后仍产生.class文件。    定义格式      public interface 接口名{       抽象方法1;       抽象方法2;       抽象方法3;     }    注意:a.接口中的方法均为 公共方法 访问的抽象方法。b.接口中 无法 定义普通的成员变量。   (2)类实现接口:类与接口的关系,实现使用 implements 。     格式:      class 类 implements 接口{       重写接口中的方法     }     在类实现中,该类将接口中的抽象方法继承过来,此时该类需要 重写 抽象方法,完成具体的逻辑。      类是现实事物的描述,接口是功能的集合 。   (3)接口中成员的特点     a.接口中的变量需要用固定的修饰符修饰 public static final ,接口中的变量称之为常量,不可改变。     b.接口中的方法需要用固定的修饰符修饰 public abstract 。     c.接口 不可以创建对象 。     d.子类必须覆盖掉接口中 所有 的抽象方法后,子类才可以实例化,否则子类是一个抽象类。   (4)接口的多实现:接口最重要的体现是 解决多继承的弊端。     弊端指的是在多继承时

JavaSE学习笔记-Day8

Deadly 提交于 2020-02-13 11:11:09
孔子云:温故而知新,可以为师矣。那么今天就来回顾一下这一个星期所学的知识。 第一章: 初步认识Java Java版本:SE 、 EE 、 ME, SE定位于计算机,EE定位于服务器。 Java优势: 跨平台性 (不区分操作系统),面向对象,多线程,高性能等等。 JVM 、JRE 、JDK:JVM是跨平台性的核心机制,运行Java只要JRE,开发需要JDK。 Java运行机制 :先编译成.class文件,再解释运行。 "Hello World"程序: main方法是Java程序的入口。输出语句的固定写法。 第二章: Java面向对象编程基础 面向过程和 面向对象 思想:万物皆可对象,要宏观把控系统。 类和对象: 类是模板,对象是实例。 1)类一般由三大部分组成(成员):成员变量、成员方法、构造方法。类名要符合驼峰原则。 2)看见new这个关键字就是在创建对象,其含义是调用类的构造方法创建实例。 3) 匿名对象 :一般对象都会给个名字,没名字的就是匿名对象。 Java数据类型: 两类,基本数据类型和引用数据类型。 1)整型默认为int,浮点型默认为double,long型数据在末尾加"l/L",float型数据在末尾加"f/F"。浮点型数据避免直接比较大小! 2)自动数据类型转化:范围小的可自动转换成范围大的,有部分转化过程可能出现精度丢失,所以这也不是绝对安全的。 3)强制类型转化

词法分析器

女生的网名这么多〃 提交于 2020-02-13 05:30:07
1. 词法分析器 函数 skip_one_line: 跳过一行, 会在skip_comment中注释为//的时候调用 skip_comment: // 和 /**/ skip_blanks: 跳过空白行, 会在skip_comment处理完注释之后调用, 同时在get_next_token这个核心的词法分析器的接口函数中调用防止获取到的token含有空白字符 to_next_char: 将parser中的next_char_ptr指向的字符赋给cur_char, 并++next_char_ptr to_next_char_if: 和to_next_char类似, 返回类型为bool类型, 当nextchar是我们期望的值的时候调用to_next_char并返回true, 否则直接返回false peek_next_char: *parser->next_char_ptr peek_cur_char: parser->cur_char get_next_token: 给语法分析器调用的函数, 在get_next_token函数中主要由一个伪while循环(之所以是伪while循环, 是因为在while的结尾有return语句), 里面还有continue语句, 主要在遇到了注释, 调用了skip_comment之后continue继续获取Token, 因为注释并不是我们的token,

java 多态

拜拜、爱过 提交于 2020-02-12 21:12:18
java 多态 多态是实现代码重用的一种机制。 重载:调用一系列具有相同名称的方法,这些方法可根据传入参数的不同而得到不同的处理结果,这属于静态多态,在代码编译阶段就确定下来。 动态多态:在程序运行阶段才能体现出来。简称为多态。 多态存在的前提:1.要有继承关系;2.子类要重写父类方法;3.父类引用指向子类。 向上转型:父类对象通过子类对象实例化。 向下转型:父类对象转换为子类对象,但必须强制转换。 //一、向上转型: class Animal { int age = 10 ; public void eat ( ) { System . out . println ( "动物吃东西" ) ; } public void shout ( ) { System . out . println ( "动物在叫" ) ; } public static void run ( ) { System . out . println ( "动物在跑" ) ; } } class Dog extends Animal { //满足了:1.要有继承关系 String name = "dog" ; public void eat ( ) { //满足了:2.子类要重写父类方法 System . out . println ( "dog is eating" ) ; } public static

java学习笔记之反射—Class类实例化和对象的反射实例化

两盒软妹~` 提交于 2020-02-11 20:19:18
反射之中所有的核心操作都是通过Class类对象展开的,可以说Class类是反射操作的根源所在,但是这个类的实例化对象, 可以采用三种方式完成。 java.lang.Class类的定义: public final class Class<T> extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement, TypeDescriptor.OfField<Class<?>>, Constable 1.Object类支持: Object类可以根据实例化对象获取Class对象:public final Class<?> getClass() 这种方式有一个缺点:如果现在只是想获得Class类对象,则必须产生指定类对象后才可以获得,会造成一个无用的对象产生 代码: Person per = new Person();//已经存在有指定类的实例化对象 Class<? extends Person> cls = per.getClass(); 2.JVM直接支持: 采用“类.class”的形式实例化 代码: Class<? extends Person> cls2 = Person.class; 3.Class类支持: 在Class类里面提供有一个static方法: 加载类:public

黑马程序员--继承

江枫思渺然 提交于 2020-02-11 12:11:22
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! --------------------- 继承是面向对象的核心特征之一。继承是已有类创建新类的机制。利用继承机制,可以先创建一个具有共性的一般类(父类),根据该一般类再创建具有特殊性的新类(子类),新类继承一般类的状态和行为,并根据需要增加它自己的新状态和行为。 在 java 语言中, java 只支持单继承,但是支持多层继承。通过继承,子类拥有父类的所有成员(成员变量和成员方法),子类不仅可以定义新的成员变量和成员方法,还可以对父类中的成员变量和方法进行更改,使累的功能得到扩展你,提高了代码的复用性。 类的继承原则: ( 1 )类与类之间必须存在所属关系。 ( 2 )子类不能继承父类的构造方法。因为父类的构造方法用来创建父类对象,子类需要定义自己的构造方法,用来创建自己的对象。 到底如何才能使用继承体系中的功能呢?先要查阅该体系中父类的描述,因为父类中定义的是该体系中的共性功能,通过了解共性功能,就可以知道该体系的基本功能。在具体调用时,要创建子类的对象

面对对象(接口)

拜拜、爱过 提交于 2020-02-11 11:46:37
一. 接口(interface),是一种引用数据类型。    interface 差不多= = abstract class    1)接口是has a (继承是is a):“像”我中的一种,是继承体系之外的,用于功能扩展!想扩展就实现,不想就不用实现。   2)接口中只能声明抽象方法和常量且声明格式都是固定的,定义的所有变量都是static final类型的,只不过可以省略。 注意:接口中声明常量和抽象方法的格式是固定的 1 public interface Test { 2 /*public abstract final*/int SPEED=100;//声明常量 3 /*public abstract 省略了,写也对*/void showInfo();//声明抽象方法 4 }    3)接口中的方法都是公共抽象方法 1 public interface MyInterface { 2 public abstract void showInfo(); 3 void showInfo3(); 4 5 // 推荐写法 6 public void showInfo2(); 7 } 二.接口的多态现象    1)接口不能有构造器,因为不能实例化何以初始化,接口只能被“实现”。   2)具体类实现了一个接口,则必须实现全部的抽象方法,若没有全部实现,则该类为抽象类。所以说

JS模拟实现封装的三种方法

♀尐吖头ヾ 提交于 2020-02-10 07:51:57
前 言   继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承! JS中有很多实现继承的方法,今天我给大家介绍其中的三种吧。 1.在 Object类上增加一个扩展方法 //声明一个父类 function Person(name,age){ this.name=name; this.age=age; this.say=function(){ alert("我叫"+this.name); } } //声明一个子类 function Student(no){ this.no=no; this.study=function(){ alert("我在学习!"); } } // 通过循坏,将父类对象的所有属性和方法,全部赋给子类对象 Object.prototype.extend=function(parent){ for(var i in parent){ this[i].parent[i]; } } var p=new Person("张三",12); var s=new Student("1234567"); //子类对象调用这个扩展方法 s.extend() console.log(s); 上述实现继承的原理: 通过 循坏 ,将父类对象的所有属性和方法,全部赋给子类对象。关键点在于for-in循坏,即使不扩展Object

stark组件之创建

泪湿孤枕 提交于 2020-02-09 05:22:59
      stark组件之需求   仿照Django中的admin , 开发了自己的stark组件,实现类似数据库客户端的功能,对数据进行增删改查 . stark之创建  1.在项目中 创建stark应用,app01,app01应用(app01,app02是我们用来演示的两个应用)2.把创建的应用在settings.py进行注册子到django中3.在app01.和app02中创建模型 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config', 'app02.apps.App02Config', 'stark.apps.StarkConfig', ] 注册 from django.db import models # Create your models here. from django.db import models # Create your models here. class Book(models.Model):

Java面向对象大致梳理

你。 提交于 2020-02-07 21:19:19
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。