`
cfeers
  • 浏览: 141409 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java的基本语法(一)

    博客分类:
  • java
阅读更多

下面这些是我自学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基础语法的时候自己摘录的,难免有些地方写的不对,请大家多多指教!

 

0
1
分享到:
评论

相关推荐

    Java程序设计:实验二 JAVA基本语法一.doc

    Java程序设计:实验二 JAVA基本语法一.doc

    Java的概述与基本语法规则

    二、Java基本语法 1. **变量**:Java中的变量必须先声明后使用,有八种基本数据类型(byte, short, int, long, float, double, char, boolean)和引用数据类型(对象、数组、接口)。 2. **数据类型转换**:Java支持...

    Java基本语法大全(全).ppt

    Java基本语法大全

    Java基本语法编程练习.doc

    Java 基本语法编程练习 Java 是一种广泛使用的高级编程语言,具有平台独立性、对象oriented 和大规模的标准库等特点。Java 基本语法编程练习是学习 Java 语言的基础,以下是 Java 基本语法编程练习的知识点总结: ...

    Java基本语法.doc

    Java基本语法

    JAVA基本语法及关键字.chm

    JAVA的基本语法及48个关键字! chm文档! 找了好久都找不到,只好自己做一个了! 分享一下...

    java基本语法大全

    java基本语法大全 非常好用,详细地介绍了java语法特点,还有丰富的实例

    Java基本语法.ppt

    Java基本语法.ppt 让读者对数据类型、表达式等Java基本语法内容有一个了解,这些内容是任何一门程序设计语言都必须包含的部分,可为程序设计打基础

    Java基本语法.pdf

    根据给定文件的信息,我们可以深入探讨Java的基本语法和核心概念,包括程序结构、注释、...以上知识点覆盖了Java基本语法的核心要素,包括程序结构、注释、数据类型以及变量和常量的使用,为初学者提供了坚实的基础。

    JAVA语法大全(基本语法)

    JAVA语法大全(基本语法) JAVA语法大全是指JAVA的基本语法,包括关键字、词法规则、数据类型、常量与变量、运算符和表达式、语句、数组和字符串等方面的知识点。 一、词法规则 词法规则是JAVA程序的基本组成部分...

    JAVA基础语法总结

    Java是一种广泛使用的面向对象的编程语言,以其平台独立性、高效性和安全性著称。这篇总结将深入探讨Java的基础语法,帮助初学者理解并掌握Java编程的核心概念。 **1. Java程序结构** Java程序由类(Class)组成,...

    Java中的基本语法部分思维导图

    JavaSE阶段,基本语法部分的思维导图,学习Java对于新人来说本来就比较难,我在这里自己把基本语法部分的知识点都进行了一个串联,做成了一个思维导图,可供初学者以及备考学生进行参考

    实验二:Java语法基础

    本_experiment_总结了 Java 的一些基本的语法知识,包括变量和常量的使用、运算符与表达式的使用、选择、循环、分支语句的使用等。实验内容包括输入一个学生的成绩,给出相应的等级、编写一个程序从键盘输入 5 个...

    Java基本语法(一)

    在Java的基本语法中,标识符、关键字和运算符是构建程序的基础元素。 首先,我们来看标识符。标识符在Java中用于命名类、接口、变量、方法等。根据Java的语法规则,标识符可以由字母、数字、下划线(_)和美元符号...

    java基本语法ppt 下载

    总的来说,Java基本语法的学习对于初学者来说至关重要,因为它提供了编写Java程序的基础。理解这些概念后,开发者能够创建简单的程序,并逐渐进阶到更复杂的面向对象编程。通过不断的实践和学习,可以掌握Java编程的...

    Java 基本语法

    以下是Java基本语法的一些核心知识点: 1. **数据类型**:Java有两大类数据类型,即基本数据类型和引用数据类型。基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔...

    Java的基本语法的笔记

    Java的基本语法的笔记

    Java基本语法练习

    在这个Java基本语法练习中,我们将深入探讨几个关键的概念。 首先,Java的数据类型是编程的基础,包括基本数据类型和引用数据类型。基本数据类型分为八种:字节型(byte)、短整型(short)、整型(int)、长整型...

    第一章-JAVA基础语法.pdf

    ### Java基础语法知识点总结 #### Java概述 ##### Java语言背景介绍 Java是一种广泛使用的高级编程语言,设计之初旨在具备良好的跨平台特性。它的设计理念来源于C和C++,但增加了面向对象的概念,提供了垃圾回收...

Global site tag (gtag.js) - Google Analytics