一、约定俗称的命名规则:
String s=”Caojiele”中的s是引用类型。
类名首字母大写,方法名和变量名小写,使用驼峰标识。
Java语言中除基本类型之外的变量类型都称之为引用类型(String并不是基础类型)。
堆内存是用来为new出来的对象动态分配内存的地方。
栈内存是用来为引用和临时局部变量分配内存的地方,使用后会被回收。
构造函数与类同名且没有返回值类型。
二、对象的创建与使用:
在类的方法定义中使用的this关键字代表,调用该方法的对象的引用。
必须使用new关键字创建对象。
使用对象引用成员变量,来引用对象的成员变量。
使用对象引用方法(实参列表)来调用对象的方法。
同一类的每个对象有不同的成员变量存储空间。
同一类的每个对象共享该类的方法。
非静态方法是针对每个对象进行调用。
三、This关键字:
在类的方法中使用的this关键字代表 调用该方法的对象的引用。
在必须指出当前使用方法的对象是谁时要使用this。
有时使用this可以处理方法中成员变量和参数重名的情况。
this可以看成一个变量,它的值是当前对象的引用。
return this表示返回该对象本身。
四、static关键字:
静态变量(用static标识的)和字符串常量存储在数据区(data seg)。
类的成员变量,方法的形参和引用存放在栈内存(stack)。
new出的对象放在堆内存,对象的成员自然也在堆内存中(heap)。
在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次被使用时初始化,对于该类的所有对象来说,static成员变量只有一份,每一个对象都能改变它。
用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可以访问非static的成员(因为非静态的成员就是类的参数,不同对象不同,静态方法根本不能确定)。
静态方法不再针对于某个对象调用,所以不能访问非静态成员。
通过对象引用或类名(不需要实例化)访问静态成员(静态变量,方法)。
五、J2SDK常用主要的包:
Java.lang:包含一些Java语言的核心类,如String,Math,Integer,System和Thread,提供常用功能。只有它使用里面的类不需要引入 直接能用。
Java.awt包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
Java.applet包含applet运行所需的一些类。
Java.net包含执行与网络相关的操作的类。
Java.io包含能提供多种输入输出功能的类。
Java.util包含一些实用工具类,如定义系统特性,使用和日期日历相关的函数。
六、访问控制:
七、方法的重写(Overwrite/Override):
在子类中可以根据需要对从基类继承来的方法进行重写。
重写方法必须和被重写方法具有相同的方法名、参数列表和返回类型。
重写方法不能使用比被重写方法更严格的访问权限。
重写父类方法最好copy父类该方法的第一行,确保名字、权限、返回类型等一致。
八、super关键字:
和this类似,super是指向 引用的父类对象 的一个引用
九:继承中构造方法:
子类的构造过程中必须先调用其基类的构造方法。
子类可以在自己的构造方法中使用super(argument_list)调用基类的有参构造方法。
如果子类的构造方法中没有显式地调用基类构造方法,则系统默认调用基类无参数的构造方法。
如果调用了super必须写在子类构造方法的第一行。
使用this(argument_list)调用本类的另外的符合参数要求的构造方法。
如果子类构造方法中既没有显式调用基类构造方法,而基类又没有无参的构造方法,则编译出错。
十、API文档:
(1)Object类是所有Java类的根基类,所有的Java类实际上都继承自Object。
所有对象(包括数组)都实现这个类的方法
(2)toString方法:Object类中定义有public String toString();方法,返回值是String类型,描述当前对象的有关信息。
在进行String与其它类型对象数据的连接操作时(如:System.out.println(“info”+ person)),将自动调用person对象的toSring 方法,以String的类型打印出person对象的内容。
可以根据需要在用户自定义类型中重写toString方法。
(3)equals方法:X.equal(Y) 当X和Y是同一个对象的引用时返回true否则返回false。
JDK提供的一些类如String、 Date等 重写了该方法,调用这些类里的equals方法,当X和Y引用的对象是同一种对象并且两个对象的属性相同时(并不一定是同一个对象)时返回true,否则返回false。
用户也可以自定义equals方法。
十一、对象转型(把一种形式转成另一种形式):
一个基类的引用类型变量可以“指向”其子类的对象。
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
父类引用指向子类对象,引用只看到子类对象里的父类对象的成员,所以无法访问子类特有的成员变量,除非强制类型转换:
Animal a = new Dog();
Dog d1 = (Dog)a;此时利用d1就可以访问到dog独有的成员属性变量
可以使用 引用变量instanceof类名 来判断引用型变量所指向的对象 是否属于该类或该类的子类。
子类的对象可以当作基类的对象来使用被称为向上转型(upcasting),反之称为向下转型(downcasting)。
十二、动态绑定与多态:
多态的存在有三个必要条件:1)要有继承,2)要有重写3)父类引用指向子类对象。当调用父类被重写的方法时,实际new的是什么类型的对象就调用哪个类里的重写的方法。而不再调用父类被重写的方法。
子类自创的非重写父类的方法依然访问不到。
十三、抽象类:
用abstract关键字修饰一个类时,这个类叫做抽象类;用abstract修饰一个方法时,该方法叫做抽象方法。
抽象方法示例:Public abstract void enjoy();(顺序)
只要含有抽象方法的类必须声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化。只能通过继承后的类实例化对象。
抽象方法只需要声明,不需要实现。(不要{})
十四、final关键字:
Final修饰的变量的值不能被改变。
1、Final修饰的成员变量
2、Final修饰的局部变量(形参)
Final修饰的方法不能被重写。
Final修饰的类不能被继承。
十五、接口(interface):关键字:实现impliments
多个无关的类可以实现同一个接口。
一个类可以实现多个无关的接口。实现的多个接口用逗号隔开。
与继承关系类似,接口与多态类之间存在多态性。
定义:是抽象方法和常量值的集合。
接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义而没有变量和方法的实现。
接口定义举例:
public interface Runner{
public static final int id = 1; }
不写public static final(即int id = 1)所有的成员变量默认也只能是public static void这样的。(所有实现它的子类对象都不能改变它的值,只能访问)
public void start();//写不写abstract现在都是抽象了
public void run();//写不写abstract现在都是抽象了
接口特性:
接口可以多重实现;
在接口中声明的属性默认为public static final的,也只能是这样的;
接口类中只能定义抽象方法,而这些方法默认是public和abstract的也只能是这样的。
接口可以继承其它接口,并添加新的属性和方法。
接口中不同接口的引用只能访问到implements该接口的类实现的它定义的方法,类里实现的其它接口里的方法不能访问到。
一个java文件可以写多个类和接口在里面,但有且只能有一个public的类或接口,而且那个public的类或接口必须和文件同名。
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123