Java编程知识点
面向对象编程
面向对象的基本概念
对象:对象是要研究的任何事物。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。
类:类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。
消息:消息是对象之间进行通信的一种规格说明。
面向对象主要特征:
封装性:封装是一种信息隐蔽技术,它体现于类的说明,使数据更安全.是对象的重要特性。用get和set方法调用。
继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。
多态性:对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。
一个javabean必须满足如下要求:
成员变量使用private修饰。
提供每一个成员变量对应的set和get方法
必须提供一个无参构造器
右击Generate 可以自动生成getter()和setter()方法。
成员变量的分类
静态成员变量
类名.静态成员变量(推荐)
对象.静态成员变量(不推荐)
实例成员变量
对象.实例成员变量
static修饰成员变量
用static修饰的成员变量相当于静态变量,静态变量区。
面向对象,这个对象有属于自己的name,age等数据。
static修饰成员方法
静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
static修饰方法是静态方法
不加static修饰的方法是实例方法
静态方法可以共享访问,可以用 类名.方法访问,同一个类中也可以直接方法访问。
实例方法,这个是属于对象的,只能通过对象来访问。
在什么情况下用实例方法呢?在要调用对象自身的成员变量的时候。
静态方法只能访问静态成员,不可以直接访问实例成员(可以调用)
实例方法可以访问静态的成员,也可以访问实例成员
静态方法中是不可以出现this关键字的
static{}静态代码块的作用。可以优先加载,用于初始化静态资源
工具类是什么?
内部都是一些静态方法,每个方法完成一个功能
一次编写,处处可用,提高代码的重用性
建议工具类的构造私有化处理,因为工具类不需要创建对象。
继承
子类继承父类,可以用父类的一些方法。比如老师类和同学类,具备相同的关系和属性。可以减少代码冗余,可以扩展功能性。
多线程
两端程序可以并发执行
方式一:继承Thread类
重写run方法,创建线程对象,调用start()方法启动
优点:编码简单
缺点:有局限性,不易扩展。
方式二:使用runnable接口形式
定义一个线程任务类,实现runnable的接口,重写run方法,定义现场的执行任务。
优点:是可以继承其他的类,还可以多实现接口。
XML是(Extensible Markup Language)的缩写,译为可扩展标记语言。
一种数据格式和json类似,主要用于不同程序,不同语言之间的数据传递
两者比较:JSON比XML更小,更快,更易解析,so,也更受欢迎。
两者作用范围:JSON适用于简单的传值,XML适用于更广阔的范围。
通过添加标签为数据赋予意义的行为称为“标记”。为“标记”定义规则的语言就是“标记语言”。
XML可用于存储数据和传输数据,可作为配置文件
抬头声明文件
<?xml version="1.0" encoding="UTF-8" ?>
可以写标签<name></name>
语法类似html,只能有一个根标签
写法:<标签名>
在xml中,同样的去区分单标签和双标签
单标签 :<标签名 />
双标签:<标签名> 内容(文本,其他标签) </标签名>
标签名是我们自己定义的。建议大家。采用标识符的命名规则去给一个标签起名字。(数字字母下划线,并且数字不能作为开头)
案例:
描述 书籍的信息。书名字,作者,单价。
标签的书写注意事项:
1、xml中的所有标签必须闭合。
2、xml中的标签名称严格区分大小写。<User> <user>
3、在xml标签名中间不要书写空格,或者 冒号 逗号 等符号。
标签的名字不要有空格一类特殊符号。
4、标签名不要以数字开始。(可以按照标识符的方式给标签去命名)
5、书写xml标签时 ,标签不能互相嵌套。
<age>23<name>zhangsan></age></name>
6、所有的xml文件只能有一个根标签。
7、我们可以通过浏览器来校验xml文件的格式是否正确。
xml的特殊符号
< < 小于
> > 大于
& & 和号
&apos ; ' 单引
" ; "" 双引
CDATA区:可以输出特殊字符:原样的显示书写在CDATA的内容。会原封不动的显示出去。
我们可以使用预定义的实体,去替代一些特殊字符的输出。
xml的约束文档:
DTD约束文档,可以约束xml文件编写,但是不能约束具体的数据类型。
schema约束文档。可以约束数据类型