【Demo 0007】Java基础-类扩展特性】的更多相关文章

本章学习要点:        1.  掌握static 修饰的类,方法以及变量的功能及用法;        2.  掌握代码块(静态,非静态)的作用以及注意事项:        3.  了解基本数据类型的封装类的功能和用法以及自动装箱.拆箱        4.  了解类对象比较(==, equals)方法用法;        5.  了解隐藏根类(Object)的几个默认方法的使用: 一.static 修饰符   二.类中代码块   三.基本类型封装类   四.对象之间的比较   五.根类方法解…
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 1>.面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.典型的编程语言代表就是C语言. 例如:公司打扫卫生(彩玻璃,扫地,拖地,倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫的干干净…
前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载和构造方法的重载 方法的重载 在一个类中可以有多个方法具有相同的名字,但是这些方法的参数个数不同,或参数类型不同,即为方法的重载. class Demo{ // one void dashu(String name){ System.out.println(name); } // two void…
本章学习要点:       1.  了解Java继承特性;       2.  掌握继承实现方法;       3.  掌握override规则: 一.类继承特性       1.  继承定义:使用己存在的类作为新类定义的基础,新类定义中可以增加新的数据或新的方法. 基础类我们称之为父类或基类,新派生的类为子类或派生类:       2.  继承目的:增强类之间的复用性,不用重复操轮子.从而使子类具有父类的功能, 无须再次实现,通常父类作为对多个子类共性的抽象,因而将共性内容(属性和行为)作为父…
本章学习要点:       1.  Java封装特性;       2.  掌握类的定义:       3.  掌握类的调用方法; 一.封装特性        Java 纯面向对象语言,面向对象语言遵循有三种基本特性,封装,继承,多态:所有的特性都围绕着类展开发,类是对现实世界中事物的抽象描述.本章先学习封装特性        1.  类  - 将现实事物(人)或虚拟事件(银行账户)进行抽象,在Java通过类来描述,事物的属性和行为:  如:             a. 人 - 现实中的具体事…
JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据.     隐藏类的实例细节,方便修改和实现. 3.封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作.当然最好使用get/set方法,比较标准. A.访问修饰符 从表格可以看出从上到下封装性越来越差. B.this关键字 1.this关键字代表当前…
一.类扩展(class extension,匿名分类) 1.格式 @interface 类名 () { // 成员变量... } // 方法声明... @end 2.作用 1> 写在.m文件中 2> 一般用来扩充私有成员变量.@property属性.方法等 二.随机数生成 1.arc4random() 会生成任意正整数和0 2.arc4random_uniform(100) 会生成0~99的整数(包括0和99) 三.UIView常见方法 1.addSubview:(UIView *)child…
类 Object 类(java.lang.Object)是所有 Java 类的直接或间接父类. 成员方法及变长参数 方法定义: [public | protected | private] [static] [final] [abstract] [native] [synchronized] 返回类型 方法名([参数列表]) [throws exceptionList] { // 方法体 } static:表示这是一个类方法(静态方法),不需实例化即可调用 final:表示这是一个终结方法,不可…
本章学习要点:       1.  了解Java多态特性;       2.  掌握Java多态的实现: 一.多态特性       1.  定义:            指同一个对象调用相同的方法实现不同的功能:       2.  用途:             作为面向对象三大特性之一,在设计模式中多态特性被运用的非常广泛. 在开发过程中常遇到相似类型的事物有着相同的行为,但在编译时无法确定具体是哪一个时就可用多态来实现从而             提升代码的扩展性和灵活性, 通常配合抽象类…
一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制,在数据封装后,其他的类成员想要访问当前类成员,就必须要有足够的权限才能访问:这样做的目的就是我可以随意修改不想让其他类成员没有权限访问的数据,只要约定好相关的协议,不影响其他类成员访问即可: 二 权限修饰词介绍 public 意指公有的意思,其修饰的成员权限最低,表示任何成员都可以访问:注意点是一…
窗口应用程序. 本例在上一版的基础上实现了高亮元素.移动元素.上下文菜单.旋转元素.设置自定义颜色. 1.自定义常量包: // Defines application wide constants package Constants; import java.awt.*; import javax.swing.*; import java.awt.image.BufferedImage; public class SketcherConstants { // Path for images pu…
一.继承(extends) 面向对象的三大特性之一,当多个类中存在相同属性和行为时,将这些内容抽取到一个公共类中,让多个类(子类)吸收公共类(父类.超类)中已有特征和行为,而在多个类型只需要编写自己独有特征和行为的机制,叫做继承 作用:继承的出现减少了代码冗余,提高了代码的复用性,可拓展性, 提供了多态的前提. 子类不能继承父类的构造方法和私有方法,可以继承父类的私有成员变量,不可以直接访问父类的私有成员和变量方法,可以通过getter 和setter 等方法访问 无论用何种方式构造子类的对象实…
一. 类和对象 面向对象:以属性和行为的观点去分析现实生活中的事物,将功能封装进对象, 强调具备了功能的对象,以类/对象为最小单位,考虑谁来做 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做 类:是对具有相同特征和行为的多个对象共性的抽象描述,在Java语言中体现为一种引用数据类型,里面包含了描述特征/属性的成员变量以及描述行为的成员方法,用于构建对象的模板,对象的数据结构由定义它的类来决定 对象:是实际存在的该类事物的每个个体, 是类的实例 类的定义 类主要包括成员变量和成员方法,构…
一.Lambda表达式 在了解 Lambda 之前,首先回顾以下Java的方法. Java的方法分为实例方法,例如:Integer的equals()方法: public final class Integer{ boolean equals(Object o){ ... } } 还有静态方法,例如:Integer的parseInt()的方法: public final class Integer{ public static int parseInt(String s){ ... } } 无论是…
控制台程序. 为了可以选择系统支持的字体,我们定义了一个FontDialog类: // Class to define a dialog to choose a font import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import static Constants.SketcherConstants.*; @SuppressWarnings("serial…
控制台程序. 为了与Sketcher中的其他元素类型保持一致,需要为Elements菜单添加Text菜单项和工具栏按钮.还需要定义用来表示文本元素的类Element.Text. 1.修改SketcherFrame类添加文本定义菜单项和工具栏按钮: // Frame for the Sketcher application import javax.swing.*; import javax.swing.border.*; import java.awt.event.*; import java.…
控制台程序. 最简单的对话框仅仅显示一些信息.为了说明这一点,可以为Sketcher添加Help菜单项和About菜单项,之后再显示About对话框来提供有关应用程序的信息. 要新建的对话框类从JDialog中派生以便创建About对话框,这个新类的名称是AboutDialog. 把AboutDialog类作为OK按钮的动作监听器,就可以使这个类变成自包含的.另外,因为所有操作都只在SketcherFrame类中进行,所以可以将之定义为SketcherFrame的嵌套类. import java…
控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusBar类.在理想情况下,应为一般目地的状态栏设计类,然后再针对Sketcher进行定制.但由于篇幅显示,这里采用简单方法说明如何设计专用语Sketcher的类. // Class defining a status bar import javax.swing.*; import java.awt.*…
java类与对象学习笔记 一.成员变量和局部变量 (1)定义 1.成员变量 在类中定义,用来描述对象将要有什么.(默认的成员变量值为0) 2.局部变量 在类的方法中定义,在方法中临时保存数据. 演示示例: (2)成员变量和局部变量的区别 1.作用域不同 局部变量的作用域仅限于定义它的方法:成员变量的作用域在整个类内部都是可见的. 2.初始值不同 java会给成员变量一个初始值(初始值为0):java不会给局部变量赋予初始值.(使用局部变量必须要先赋值) 示例: 3.同名的情况 在同一个方法中,不…
类和对象 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态.确定对象将有的特征(属性)和行为(方法),用来确定对象信息,具有相同属性和方法的一组对象的集合 软件对象也有状态和行为.软件对象的状态就是属性,行为通过方法体现. 哈希编码:每个对象都有自己的哈希编码,程序调用时,通过寻找对象的哈希编码来查找对象在内存的位置. 在软件开发中,方法操作对象内部状态的改…
一个简单的demo,主要运用: 抽象类,类的继承 类的实例化,构造函数 @Override重写父类方法 package week4; abstract class Person { void showFullName() { System.out.print("Person"); } } class People extends Person{ int age; final String name; People (int age, String name){ this.age = a…
基本概念 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分. 实例化:类的实例化可生成对象(使用关键字new来创建一个对象). //实例化类生成对象 //new操作会在堆内存中分配一个对象的内存 new String(“hello”); 引用:java中使用引用来操作对象. //创建一个引用 String…
本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; // 主函数 public static void main(String[] args) { Demo demo = new Demo(); } // 构造函数 public Demo() { System.out.println("我是构造函数,随着对象建立而运行"); } // 我…
类 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中可以有多个类,但是最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的变量来说会默认初始化为0(boo…
1. 函数式接口 函数式接口主要指只包含一个抽象方法的接口,如:java.lang.Runnable(java1.0).java.util.Comparator接口(java1.4)等. Java8提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错 java.util.function包包含了常用的函数式接口 接口名称 方法声明 功能介绍 Consumer void accept(T t) 根据指定的参数执行操作 Supplier T get…
一. static关键字 使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,整个类共享一份静态成员变量,该成员变量随着类的加载准备就绪,与是否创建对象无关 使用static修饰属性:静态变量(或类变量) 静态变量随着类的加载而加载,可以通过类名.静态变量的方式进行调用 静态变量的加载早于对象的创建 类只会加载一次,静态变量在内存中只有一份,在方法区的静态域中 使用static关键字修饰类方法:静态方法 静态方法中只能代用静态方法的属性或方法 非静态方法中,可以…
一.Object类 java.lang.Object类是Java语言中类层次结构的根类,也就是说任何一个类都是该类的直接或者间接子类 如果定义一个Java类时没有使用extends关键字声明其父类,则其父类为 java.lang.Object 类. Object类定义了"对象"的基本行为, 被子类默认继承. object源码中没有成员变量,只有成员方法,包括 equals() / toString() / getClass() /hashCode() / clone() / final…
一.类的私有成员和公有成员 1.私有成员 修饰符private    如果在类的声明前加上修饰符private,则无法从该类的外部访问到该类的内部成员,而只能被该类自身访问和修改,而不嗯那个被其他类,包括该类的子类来获取和引用,达到对数据最高级别保护 2.公有成员 修饰符public  表示该成员可以被其他所有的类缩访问 二.方法的重载 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 sho…
一.类与接口的关系 1.类与类的关系 继承关系,只能单继承,不能多继承:但是可以多层继承 2.类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 3.接口与接口的关系 继承关系,可以单继承也可以多继承 二.抽象类与接口的区别 1.成员区别 抽象类:变量:常量:有构造方法:有抽象方法,也有具体方法 接口:只有常量:只有抽象方法 2.关系区别 类与类:继承.单继承 类与接口:实现:可以单实现,也可以多实现 接口与接口:继承:单继承,多继承 3.设计理念区别 抽象类…
1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通过super()调用来实现. A.正确 B.错误 答案: A 解析: super关键字在子类内部使用,代表父类对象. 访问父类的属性 super.属性名 访问父类的方法 super.方法名() 子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super() 3.下列关于Jav…