JAVA OOP第一课

一、java OOP

1、OOP

Object Oriented Programming(面向对象的编程)

(1)OO

程序员将某一类具有相同属性和行为的事物抽象描述出来叫做类。

(2)类

1、属性:静态特征、成员变量、全局变量
(1) 基本类型
(2) 应用类型:对象
2、行为:动态特征、方法、函数

(3)类的基本结构

public class 类名{
	//属性变量
	private static/final/transient/volatile 数据类型 数据名称;
	......
	//行为
	public static/final/synchronized 返回类型 方法名称(参数列表){
 		方法体;
	}
	......
}

(4) 创建对象

1、类名 对象名 = new 构造方法(参数列表);

(1) 无参构造:参数列表为空
若类中没有定义任何构造方法,则系统自动提供无参构造;若已经定义任何构造方法,则系统不再提供无参构造,如需使用要显示申明。
(2) 带参构造:参数列表非空
(3) 构造方法

//构造方法
	public 类名做为方法名(参数列表){
		方法体;
	}
//无参构造
    public Student(){}
//全参构造
    public Student(String stuNo,String stuName,char gender,int age,String product){
       this(stuNo,stuName);
       this.gender=gender;
       this.age=age;
       this.product=product;
	}  //形式参数:确定类型

(4) 构造方法的功能
1)类初始化:给类的属性第一次赋值
2)构造对象对于同一个对象,只能调用一次
(5)修改和获取对象属性的值
1)修改:setter
2)获取:getter

//修改属性的值
 	public void setStuNo(String stuNo){
        this.stuNo = stuNo;
    }
//获取属性的值
    public String getStuNo(){
       return  stuNo;
    }

(6) to String()方法
用于控制台展示数据,如果一个对象添加了该方法,输出该对象时,自动调用该方法。

 @Override
    public String toString() {
        return  MessageFormat.format("学号:{0}\n姓名:{1}\n性别:{2}\n年龄:{3}\n产品:{4}",
                stuNo,
                stuName ,
                gender,
                age,
                product);
    }

    public static void main(String[] args) {
        Student stu = new Student();
        
        //对象stu直接调用to String()方法
        String s= stu.toString();
        System.out.println(s);

    }

(5) 访问对象的属性和行为

1、类外:
(1)对象.可见属性
(2)对象.可见方法名(参数列表)
2、类内:
(1)直接调用

2、类方法

(1)入口方法

public static void main(String[]) args{
	方法体
}

(2)构造方法

public 类名(参数列表){
	方法体
}

(3)toString()方法

@Override
public String toString(){
	return super.toString()
}

(4)自定义方法

访问修饰符 返回类型 方法名称(参数列表){
	方法体
}

举例如下:

无返回值方法
public  void setStuName(String stuName){
	this.stuName = stuName;
}
有返回值方法
public  String getStuName(){
	return stuName;
}

1、访问修饰符
2、返回类型:方法调用后返回值的类型
(1)不需要返回值:void
(2)需要返回值:值类型决定返回类型,返回类型>值类型
(3)return:方法级跳转语句
3、方法名称:与变量名称命名规则相同(驼峰命名规)
4、参数列表

0个无参
1~3个直接入参
3个以上封装入参

5、方法参数的传递
(1)基本类型:值传递,传递值的副本
(2)引用类型:引用传递,传递地址;引用类型传递需要new创建对象

 public void test(int a){
        a += 5;
        System.out.println("test : " +a);
    }

    public void test(int[] a){
        a[0] += 5;
        System.out.println("test : " +a[0]);
    }

    public void test(A t){
        t.a += 5;
        System.out.println("test : " +t.a);
    }

结果如下:
main1= 3
test= 8
main2=3

main1= 3
test= 8
main2= 3

main1:=3
test= 8
main2= 8

(5)方法的重载

1、在同一个类中出现方法名称相同,参数不同的现象
(1)数量相同时,类型不同
(2)类型相同时,数量不同
(3)数量和类型都相同时,类型顺序不同

 public void test(int a){
        a += 5;
        System.out.println("test : " +a);
    }

 public void test(int[] a){
        a[0] += 5;
        System.out.println("test : " +a[0]);
    }

面向对象的复习 首先介绍S2的java方向课程内容: (1)面向对象的三大特征(封装、继承、多态),目地是:保护数据的安全性,优化代码重用,提高代码的可扩展性、可维护性 (2)java中的常用API 第一部分:lang包、集合、IO流、JDBC数据库访问、线程、网络 第二部分:jsp部分 (一)对象的概念。(实实在在存在的东西) (二)特征: 1、属性:静态特征。名词。 2、方法:动态特征。动词。 (三)类的概念。 由于有太多的对象具有相同的属性及行为,所以我们抽取出一个类的概念。 比如:小红,小李,他们都有姓名、年龄、性别。以及都会说人话,都是直立行走。由于有太多这样的对象都和他们一样有相同的属性及方法,所以我们抽出一个概念“人类”。 再比如说:一辆别克与一辆宝马,它们都有品牌、颜色,以及都能起动,加速等行为,所以我们抽出一个概念“小轿车类”。 再比如说:1、5、9、105、2908等等这些数字,它们有共同的特征: (1)都是数字 (2)都没有小数部分 所以我们抽出一个概念“int”,代表整形。 (四)有了类型,我们才能定义保存当前类型对象的变量。 比如:我们有了int,我们才能定义一个变量,使用这个变量保存一个整数。 那么我们要保存一个人,我们就首先要定义一个人的类型。 如何定义一个人的类型呢? class 人{ String 姓名; //无参,无返回 public void 跑步(){ System.out.println(this.姓名 + "跑步去了"); } //无参,有返回 public String toString(){ String msg="我的名字叫:" + this.姓名; return msg; } } 测试人类,说明什么是无返回,什么是有返回,以及什么是无参,this的意义 class 计算机{ //有参,无返回 public void add(int a,int b){ System.out.println("结果为:" + (a+b)); } //有参,有返回 public double div(int a,int b){ double c=a/b; return c; } } 测试计算机类,说明什么是有参,以及有参有返回的综合应用 讲类与对象时介绍内存空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值