2018年mldnjava笔记-范文模板 (14页)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
== 本文为word格式,下载后可方便编辑和修改! ==
mldnjava笔记
篇一:java笔记(李兴华)
在方法中声明一个对象必须赋值对象的产生是分两步进行的:
1.声明一个对象(栈内存中开辟了一个空间) Person p = null;
2.实例化一个对象(堆内存中开辟了空间,并将使用权给了p) p = new Person();
使用new关键字创建对象的三个作用: 1.为对象实例分配内存空间 2.调用构造函数
3.返回对象实例的引用
如果不开辟堆内存空间(即不使用new),则在对象使用时会发生错误(空指
针异常) Person p1 = new Person();
Person p2 = p1; 【对象的引用传递】p2指向的是p1使用的堆内存,而不是
指向p1的名字,任意修改其中一个对象的内容都会影响到另一个对象。
如果程序中已经明确写出了构造方法,则不会再产生一个无参的什么都不做的构造方法。
结论:无论采用哪种方法为类中的属性赋值,最好都经过setter
方法,由setter方法对输入的内容进行检测,而getter方法只是将内容简单的返回。
String是一个类,
String name1 = new String("li"); -->开辟了两个空间,其中一个是垃圾空间 String name2 = "li" -->只开辟了一个空间比较字符串是否相等使用equals方法:使用“==”与“equals”到底有什么不同?
equals:可以比较内容,是两个字符串内容的比较 ==:数值比较,比较的是内存地址的值是否相等结论:字符串就是String类的匿名对象。
String name2 = "li"; String name3 = "li";
name2==name3 的判断为true,按道理两个对象应该有不同的内存地址
String使用了java中的共享设计模式,因为在内存中已经存在了字符串
“li”,所以再次定义的name3会指向之前已经开辟了的name2指向的“li”;
使用class定义一个类,则类名可以与文件名不一致使用public class定义
一个类,则类名必须与文件名一致整个*.java文件之中只能有一个public class
Classpath表示类路径,指的是使用java执行*.class文件的时候就要使用的
路径,需要在任何目录中去执行*.class文件,就需要执行classpath
Java的安装和配置:path(java.exe、javac.exe)、classpath(使用java
运行程序时)
所有java关键字都是小写的,goto和const虽然从未使用过,但也作为java
关键字保留,true、false、null虽被用做专门用途,但不是java关键字。
只要单词的首写字母是大写就表示一个类如Float
数组属于引用数据类型,在声明时默认的初始化值是null,表示此数据没有,
暂不能使用引用的数据类型都必须开辟空间——new开辟空间声明:int
i[]=null; 使用:
i=new int[10];
内存中:栈:对象名
堆:对象属性
全局代码区:所有的方法
如果对一个对象只需进行一次方法调用,那么就可以使用匿名对象,如new person().shout();
比较字符串是否相等使用equals方法
equals可以比较内容,是字符串内容的比较;
==是数值的比较,比较的是内存地址的值是否相等
一个字符串就是String类的匿名对象
先在堆中生成字符串空间又因为new在堆中生成另一个字符串空间,其内容由之前字符串内容复制过来,并在栈区生成一个指向new出来的空间的地址,所以:
面向对象基础_03:
String类中的内容一旦声明则不可改变,故只要有新字符串,则都应该在堆区生成
如果将字符串换成数字的话,可直接改变原数
全局数据区:存放static类型的属性
静态方法不能调用非静态属性或方法非静态方法可以调用静态属性或方法
class Person { // 静态代码块 static {System.out.println("static code() ...") ;
} // 构造块 {System.out.println("Hello World!!!") ; } // 声明一个构造方法 Person() {System.out.println("Person()构造方法") ; } };
public class OODemo16 { public static void main(String args[]) {new Person() ;new Person() ; } };
运行结果:
System.exit(1);程序退出,不再向下继续执行
Java不允许多重继承,允许多层继承,一个子类只有一个父类,一个父类可以有多个子类
子类覆写父类的方法时,被覆写的方法不能比父类拥有更严格的访问权限,一般保持一致。
权限问题:public>default>private
通过super()根据传入的参数去调用父类指定的构造方法,默认情况调用的是无参构造通过super.方法(),可以由子类去调用父类中指定的方法(方法被覆写了)
篇二:MLDN笔记
<%%>括号里的为局部变量
<%!%>括号里的为全局变量
在JSP编程中尽量不要使用out.println()来输出,这样使得JAVA代码和HTML 代码混乱
第一种写法<%@ page language="java" contentType="text/html" pageEncoding="GBK"%> 第二种写法<%@ page language="java"
contentType="text/html;charset=GBK"%>
★如果把contentType="text/html"改成contentType="application/msword"就打开网页就会自动下载.doc格式的文件,这个方法(application/msword)要在Tomcat/Config/web.xml文件下的<mime-mapping>里面查找,可改成任意格式,如.txt/.rar...........
★但是因为下载的东西的名字是网页的默认名字,所在要在网页中加上这样一段代码 {
<%@ page language="java" contentType="application/msword" pageEncoding="GBK"%> <html>
<head>
<title>
</title>
</head>
<%
response.setHeader("Content-
Disposition","attachement;filename=mdln.doc");//下载文件更名 %>
<body>
中华人民共和国
</body>
</html>
}
★页面错误(业余,哈哈)
例如:如果test.jsp页面出错了,就要跳到指定的一页(error.jsp)面的两种方法为:
(1)
在test.jsp头上加上<%@ page errorPage="error.jsp"%>
并且在error.jsp头上要加上<%@ page isErrorPag(来自: : mldnjava笔
记 )e="true"%>。