java编程中的点_java编程中所遇到的知识点(持续更新)

一、约定俗称的命名规则:

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包含一些实用工具类,如定义系统特性,使用和日期日历相关的函数。

六、访问控制:

FtPuB2wVZCXS0fGAudSf1BFleVfJ

七、方法的重写(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的类或接口必须和文件同名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值