Java 面向对象

Java 面向对象

面向对象的三大特征
  • 封装 (Encapsulation)
  • 继承 (Inheritance)
  • 多态 (Polymorphism)
类的访问机制:
  • 在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(例外:static方法访问非static,编译不通过。)
  • 在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。
匿名对象:

我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。

如:new Person().shout();

使用情况:

如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。

我们经常将匿名对象作为实参传递给一个方法调用。

方法的重载(overload)
重载的概念
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
重载的特点:
与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。
重载示例:
//返回两个整数的和 int add(int x,int y){return x+y;} //返回三个整数的和 int add(int x,int y,int z){return x+y+z;} //返回两个小数的和 double add(double x,double y){return x+y;}
public class PrintStream{
public static void print(int i) {……}
public static void print(float f) {……}
private static void print(String s) {……}
    public static void main(String[] args){ 
        print(3);
        print(1.2f);
        print(“hello!”);
    }
}

//下面采用数组形参来定义方法

public static void test(inta ,String[] books);

//以可变个数形参来定义方法

public static void test(inta ,String…books);

说明:

1.可变参数:方法参数部分指定类型的参数个数是可变多个

2.声明方式:方法名(参数的类型名…参数名)

3.可变参数方法的使用与方法参数部分使用数组是一致的

4.方法的参数部分有可变形参,需要放在形参声明的最后

构造方法(构造器)的特征
  • 它具有与类相同的名称
  • 它不声明返回值类型。(与声明为void不同)
  • 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值
  • 根据参数不同,构造器可以分为如下两类:
    • 隐式无参构造器(系统默认提供)
    • 显式定义一个或多个构造器(无参、有参)
  • l注 意:
    • Java语言中,每个类都至少有一个构造器
    • 默认构造器的修饰符与所属类的修饰符一致
    • 一旦显式定义了构造器,则系统不再提供默认构造器
    • 一个类可以创建多个重载的构造器
    • 父类的构造器不可被子类继承
this–关键字
  • 在java中,this关键字比较难理解,它的作用和其词义很接近。

    • 它在方法内部使用,即这个方法所属对象的引用;

    • 它在构造器内部使用,表示该构造器正在初始化的对象。

  • this表示当前对象,可以调用类的属性、方法和构造器
  • 什么时候使用this关键字呢?
    • 当在方法内需要用到调用该方法的对象时,就用this。
class Person{       // 定义Person类
    private String name ;   
    private int age ;           
    public Person(String name,int age){ 
        this.name = name ;   
        this.age = age ;  }
    public void getInfo(){  
        System.out.println("姓名:" + name) ;
        this.speak();
    }
    public void speak(){
        System.out.println(“年龄:” + this.age);   
    }
}

注意:

1.使用this()必须放在构造器的首行!

2.使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。

JavaBean

1.JavaBean是一种Java语言写成的可重用组件。

2.所谓javaBean,是指符合如下标准的Java类:

  • 类是公共的
  • 有一个无参的公共的构造器
  • 有属性,且有对应的get、set方法

3.用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

public class TestJavaBean{
      private String name;  //属性一般定义为private
      private int age;
      public  TestJavaBean(){}
      public int getAge(){
             return age;
      }
      public void setAge(int age){
             this.age = age;
      }
      public String getName(){
            return name;
      }
      public void setName(String name){
            this.name = name;
}
JDK主要的包介绍

1.java.lang—-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

  1. java.net—-包含执行与网络相关的操作的类和接口。

  2. java.io —-包含能提供多种输入/输出功能的类。

  3. java.util—-包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。

  4. java.text—-包含了一些java格式化相关的类

  5. java.sql—-包含了java进行JDBC数据库编程的相关类/接口

  6. java.awt—-包含了构成抽象窗口工具集(abstractwindow toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

  7. java.applet—-包含applet运行所需的一些类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值