Java基础(四)

目录

一.方法

方法的重载

 递归结构

递归结构介绍

构造方法(构造器)

面向对象(1)

面向过程和面向对象的区别

类和对象的概念

属性(field 成员变量)

 this关键字

static关键字

包机制(package,import)

package

导入类import

静态导入的使用


一.方法

方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。

方法声明格式:

[修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表){

Java语句;... ... ...

}

方法调用方式:

对象名.方法名(实参列表)

public class test {
    public static void print(){
        System.out.println("hello world");
    }
   public static void main(String[] args){
         print();
       }
   }

方法的重载

方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法,调用时,会根据不同的参数自动匹配对应的方法。

public class test {
    public static int add(int x,int y){
        int a=x+y;
        System.out.println(a);
        return a;
    }
    public static double add(double m,double n){
        double b=m+n;
        System.out.println(b);
        return b;
    }
   public static void main(String[] args){
         add(1,2);
         add(1.2,3.4);
       }
   }

 递归结构

递归结构介绍

递归结构包括递归头和递归体两个部分。

用递归求n!:

public class test {
   static long digui(int n){
       if(n==1){
           return 1;
       }else
           return n*digui(n-1);
   }
   public static void main(String[] args){
       System.out.println(digui(10));
   }
   }

注:递归比较耗时,能用循环一般不用递归。

构造方法(构造器)

构造器也叫构造方法,用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。

声明格式:

[修饰符]类名(形参列表){

//n条语句

}

import java.awt.*;

class Point{
    double x,y;
    public Point(double a,double b){
        x=a;
        y=b;
    }
    public double getnum(Point p){
        return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
    }
}
public class test {
    public static void main(String[] args){
        Point P=new Point(3.0,4.0);
        Point origin=new Point(0.0,0.0);
        System.out.println(P.getnum(origin));
    }
}

面向对象(1)

面向过程和面向对象的区别

面向过程和面向对象都是对软件分析,设计和开发的一种思想,它指导者人们以不同的方法去分析设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过成的弊端越来越明显,出现了面向对象思想。c语言是一种典型的面向过程语言,Java是一种典型的面向对象语言。

面向过程思想思考问题时,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。

面向对象思想首先要思考的是“怎么设计这个事物?”

类和对象的概念

类可以看作是一个模板或者图纸,系统根据类的定义来构造出对象。

对象可以看作该类的具体实现。

public class student{
  int id;
  String name;
  int age;
  void study(){
     System.out.println("我正在学习!");
  }
  student(){
  }
}

属性(field 成员变量)

属性用于定义该类或该类对象包含的数据或者说静态特征。

 this关键字

public class test {
    int id;
    String name;
    String pwd;
    public test(int id,String name){
        this.id=id;
        this.name=name;
    }
    public static void main(String[] args){
        test t=new test(12,"doudou");
    }
}

static关键字

在类中,用static声明的成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。

包机制(package,import)

package

我们通过package实现对类的管理,package有两个要点:

1.通常是类的第一句非注释性语句

2.包名:域名倒着写即可,再加上模块名,便于内部管理类。

例如:com.sun.test;

导入类import

如果我们要使用其他的类,需要用import导入。

package com.bjsxt.test;

import com.bjsxt.test1.user;

public class text1 {
    public static void main(String[] args){
       user u=new user();
       u.study();
    }

}

静态导入的使用

package com.bjsxt.test;
import static java.lang.Math.*;
import static java.lang.Math.PI;
public class text1 {
    public static void main(String[] args){
        System.out.println(PI);
        System.out.println(random());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值