下面这些是我自学JAVA的时候摘录的一些笔记,给大家参考一下。
【补充理论】接口和继承的区别?
接口中,只有方法,没有定义,这就要求实现接口必须定义实现接口中所有的方法,但继承则不然,此其一;一个类,只能继承自一个基类,但是可以实现多个接口,此其二;
如果对抽象类理解不错的话,你可以吧接口看成一个极度的抽象类,没有实现任何方法;
【继承】
extends 通过继承,子类自动拥有了基类的所有成员(成员变量和方法)
【1.方法的重载】:方法名相同,参数个数不同,类型不同
void max(int a, int b){}
void max(float a,float b){}
void max(byte a,byte b){}
【2.方法的重写】:方法名相同,参数返回类型相同,权限一样
在子类中可以根据需要对从基类(父类)中继承来的方法进行重写
重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型
重写方法不能使用比被重写方法更严格的访问权限
class Person{
public String getInfo(){
return "Name: "+ name +"\n" +"age: "+ age;
}
}
class Student extends Person{
public String getInfo(){
return "Name: "+ getName() +"\nage: "+ getAge() +"\nschool: "+ school;
}
}
【3.继承中的构造方法】
1)子类的构造过程中【必须】调用其基类的构造方法
2)子类可以再自己的构造方法中使用super(参数列表)调用基类的构造方法
使用this(参数列表)调用本类的另外的构造方法
如果调用super,必须写在子类构造方法的第一行
3)如果子类的构造方法中没有显示(没有super)的调用基类构造方法,则系统默认调用基类无
参数的构造方法
4)如果子类构造方法中既没有显示(没有super)调用基类构造方法,而基类中又没有无参的构造
方法,则编译出错。
【5. 抽象类】
用abstract关键字来修饰一个类时,这个类叫做抽象类(含有抽象方法);abstract class Animal
用abstract关键字来修饰一个方法时,这个类叫做抽象方法(就是让被重写的);
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化,抽象方法只需声明,而不需实现。public abstract void enjoy();
【6.static】
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载, Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。
用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。
static 变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。
static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为:
类名.静态方法名(参数列表...)
类名.静态变量名
用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。
【static和final一块用表示什么】
static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
对于方法,表示不可覆盖,并且可以通过类名直接访问。
【7.Final】 关键字
final 的变量的值赋值后不能被改变:成员变量,局部变量
final 的方法不能被重写,可以被继承
final 的类不能被继承
【8.接口 interface】 (所有的方法都是abstract)
特殊的抽象类,只包含常量和方法的定义,而没有变量和方法的实现
接口中声明的属性只能/默认是public static final(接口里面可以不写,默认)
接口里的方法只能是抽象方法。
多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。
public interface Runner{
public static final int id = 1;(属性(成员变量)只能定义为static final)
public void start();(不需要写实现)
public void run();
public void stop();
}
class 类名 implements 接口名{}
【9.对象转型】 casting
一个基类的引用类型变量可以"指向"其子类的对象
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)
可以使用引用变量 Instanceof 类名 来判断该引用型变量所“指向”
的对象是否属于该类或该类的子类
子类的对象可以当做基类的对象来使用称作向上转型(upcasting)向下转型(downcasting)
【10 多态】 !!!!要有继承 要有重写 父类引用指向子类对象!!!
动态绑定是指"在执行期间"(而非编译期)判断所引用对象的实际类型,
根据其实际的类型调用其相应的方法
abstract class Animal{
private String name;
Animal(String name) {this.name = name;}
/*
public void enjoy(){
System.out.println("叫声......");
}*/
public abstract void enjoy();
}
class Cat extends Animal{
private String eyesColor;
Cat(String n,String c) {super(n); eyesColor = c;}
public void enjoy(){
System.out.println("猫叫声......");
}
}
class Dog extends Animal{
private String furColor;
Dog(String n,String c) {super(n); furColor = c;}
public void enjoy(){
System.out.println("狗叫声......");
}
}
class Lady{
private String name;
private Animal pet;
Lady(String name,Animal pet){
this.name = name; this.pet = pet;
}
public void myPetEnjoy(){pet.enjoy();}
}
public class Test{
public static void main(String[] args){
Cat c = new Cat("catname","blue");
Dog d = new Dog("dogname","black");
Lady l1 = new Lady("l1",c);
Lady l2 = new Lady("l2",d);
l1.myPetEnjoy();
l2.myPetEnjoy();
}
}
【11.异常的捕获和处理】 try catch finally throw throws
try代码段后面有一个或多个catch代码段
每个catch代码段声明其能处理的一种特定类型的异常并提供处理的方法
当异常发生时,程序会中止当前的流程,根据获取异常的类型区执行相应的catch代码段。
finally段的代码无论是否发生异常都有执行,当遇到异常时执行完异常在转到finally语句,没有遇到异常时就直接转到finally语句。
【finally语句】通常在finally语句中可以进行资源的清除工作:关闭打开的文件,删除临时的文件
try {
//可能抛出异常的语句
} catch (SomeException1 e)
{
... ...
} catch (SomeException2 e)
{
... ...
} finally {
... ...
}
下面是具体的例子1
------------------------------------------------------------------------
void m(int i) throws ArithmeticException{
if(i == 0)
throw new ArithmeticException("被除数为0"); //这里throw手动抛出异常
}
下面是具体的例子2
------------------------------------------------------------------------
voif f() throws FileNotFoundException, IOException{ //这里throws自动抛出异常
FileNotFoundException in = new FileNotFoundException("Myfiel.txt");
int b;
b = in.read();
while(b != -1){
System.out.print((char) b);
b = in.read();
}
}
voud f2(){
try{
f(); //在f2()方法中调用f()方法,因为f()方法中抛出了2个异常,所以调用该方法时要捕获2个异常
}catch(FileNotFoundException e){
System.out.print(e.getMessage());
}catch(IOException e){
e.printStackTrace();
}
}
e.printStackTrace();这个是打印(api里的)异常信息
e.getMessage(); 输出自定义的异常信息 (被除数为0)
---------------------------------------------------------------------------------
注意: 重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。
例如:
class A{
public void method() thorws IOException {...}
}
calss B1 extends A{ //错了 抛出的异常和A方法不一致
public void method() throws FileNotFoundExcrption {...}
}
class B2 extends A{ //错了 抛出的异常和A方法不一致
public void method() throws Exception {...}
}
class B3 extends A{
public void method() {...}
}
class B4 extends A{ //错了 抛出的异常和A方法不一致
public void method() throws IOException,MyException{...}
}
以上这些是之前自学JAVA基础语法的时候自己摘录的,难免有些地方写的不对,请大家多多指教!
分享到:
相关推荐
Java程序设计:实验二 JAVA基本语法一.doc
二、Java基本语法 1. **变量**:Java中的变量必须先声明后使用,有八种基本数据类型(byte, short, int, long, float, double, char, boolean)和引用数据类型(对象、数组、接口)。 2. **数据类型转换**:Java支持...
Java基本语法大全
Java 基本语法编程练习 Java 是一种广泛使用的高级编程语言,具有平台独立性、对象oriented 和大规模的标准库等特点。Java 基本语法编程练习是学习 Java 语言的基础,以下是 Java 基本语法编程练习的知识点总结: ...
Java基本语法
JAVA的基本语法及48个关键字! chm文档! 找了好久都找不到,只好自己做一个了! 分享一下...
java基本语法大全 非常好用,详细地介绍了java语法特点,还有丰富的实例
Java基本语法.ppt 让读者对数据类型、表达式等Java基本语法内容有一个了解,这些内容是任何一门程序设计语言都必须包含的部分,可为程序设计打基础
根据给定文件的信息,我们可以深入探讨Java的基本语法和核心概念,包括程序结构、注释、...以上知识点覆盖了Java基本语法的核心要素,包括程序结构、注释、数据类型以及变量和常量的使用,为初学者提供了坚实的基础。
JAVA语法大全(基本语法) JAVA语法大全是指JAVA的基本语法,包括关键字、词法规则、数据类型、常量与变量、运算符和表达式、语句、数组和字符串等方面的知识点。 一、词法规则 词法规则是JAVA程序的基本组成部分...
Java是一种广泛使用的面向对象的编程语言,以其平台独立性、高效性和安全性著称。这篇总结将深入探讨Java的基础语法,帮助初学者理解并掌握Java编程的核心概念。 **1. Java程序结构** Java程序由类(Class)组成,...
JavaSE阶段,基本语法部分的思维导图,学习Java对于新人来说本来就比较难,我在这里自己把基本语法部分的知识点都进行了一个串联,做成了一个思维导图,可供初学者以及备考学生进行参考
本_experiment_总结了 Java 的一些基本的语法知识,包括变量和常量的使用、运算符与表达式的使用、选择、循环、分支语句的使用等。实验内容包括输入一个学生的成绩,给出相应的等级、编写一个程序从键盘输入 5 个...
在Java的基本语法中,标识符、关键字和运算符是构建程序的基础元素。 首先,我们来看标识符。标识符在Java中用于命名类、接口、变量、方法等。根据Java的语法规则,标识符可以由字母、数字、下划线(_)和美元符号...
总的来说,Java基本语法的学习对于初学者来说至关重要,因为它提供了编写Java程序的基础。理解这些概念后,开发者能够创建简单的程序,并逐渐进阶到更复杂的面向对象编程。通过不断的实践和学习,可以掌握Java编程的...
以下是Java基本语法的一些核心知识点: 1. **数据类型**:Java有两大类数据类型,即基本数据类型和引用数据类型。基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔...
Java的基本语法的笔记
在这个Java基本语法练习中,我们将深入探讨几个关键的概念。 首先,Java的数据类型是编程的基础,包括基本数据类型和引用数据类型。基本数据类型分为八种:字节型(byte)、短整型(short)、整型(int)、长整型...
### Java基础语法知识点总结 #### Java概述 ##### Java语言背景介绍 Java是一种广泛使用的高级编程语言,设计之初旨在具备良好的跨平台特性。它的设计理念来源于C和C++,但增加了面向对象的概念,提供了垃圾回收...