类和对象

一、类和对象

1.对象

​ **1.对象的含义:**对象即是生活中一个确确实实存在的东西,现实生活中客观存在的事物就称之为对象。对象也是一种具体的概念。

2.对象的属性和方法:对象的静态特征和动态特征分别称为对象的属性方法

3.如何使用对象:

​ 形式:

类名 对象名 = new  类名();

​ 使用对象中所包含的语法:

	对象名.属性;     对象名.方法();

2.类

​ **1.类的含义:**类是具备某些共同特征的实体的集合,它是一种抽象的概念与对象恰恰相反。同时类类定义了对象将会拥有的特征(属性)和行为(方法)。

​ **2.类的属性和方法:**对象所拥有的静态特征在类中表示时称为类的属性。例如:顾客类的性别;车类的型号等等。对象执行的操作称为类的方法。例如:顾客购物的行为即为顾客类的方法。

3.类的命名要求:

(1)不能包含任何嵌入的空格或点号".",以及下划线"_",字符"$"外特殊字符。

(2)不能数字开头。

(3)不能使用java中任何的关键字。

4.定义类属性的语法:

public class 类名{
    //定义属性类部分
	属性1的类型  属性1......
	属性n的类型  属性n ;
}

5.定义类方法的语法

访问修饰符 返回值类型 方法名(){
    //方法体
}

6.使用类的步骤如下:

​ (1)定义类:使用关键字class

​ (2)创建类的对象:使用关键字new

​ (3)使用类的属性和方法:使用**“.”**操作符。

3.类和对象的关系

​ 类和对象的关系是抽象和具体的关系。类是对象的类型,对象是类的实例。

注:对象的属性和方法被共同封装在类中,相铺相成,不可分割!

二、类的无参方法

1.如何定义类的方法

类的方法必须包括以下三个部分。

(1)方法的名称。

(2)方法的返回值类型。

(3)方法的主体。

类方法定义的语法如下:

public 方法值类型方法名 (){
	//方法的主体
}

2.方法的调用

1.调用的形式:

​ 第一种:同一个类中的方法,直接使用方法名调用该方法。

​ 第二种:不同类的方法,首先创建对象,在使用“对象名.方法名()”来调用。

2.方法调用是应注意的事项:

​ (1)方法的返回值类型为void,方法中不能有return语句。

​ (2)方法中不能返回多个值。

​ (3)多个方法不能嵌套定义。

​ (4)不能在方法外部直接写程序逻辑代码。

3.变量的定义域

​ **1.成员变量:**在类中定义的变量称为类的成员变量。

​ **2.局部变量:**在方法中定义的变量称为类的局部变量。

3.以下为变量定义域中的注意事项:

​ (1)作用域不同:局部变量的作用域仅限于定义它的方法,在该方法外无法访问。

​ (2)初始值不同:对于成员变量,如果在类定义中没有给他赋初始值。Java语言会给他一个默认值。因此局部变量必须要定义赋值后再使用。

下面为Java数据类型的默认值:

类型默认值
int0
double0.0
char‘\u0000’
booleanfalse
Stringnull

​ (3)在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量。

​ (4)局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。

4.JavaDoc注释

1.JavaDoc注释语法如下:

/**
 *AccpSchool类
 *@author	JadeBird
 *@version 1.0 2016/04/2
 */

2.JavaDoc注释的语法规则:

​ (1)JavaDoc注释以"/**“开头,以”*/"结尾。

​ (2)每个注释包含一些描述性的文本及若干个JavaDoc标签。

​ (3)JavaDoc标签一般以"@"为前缀,常用的JavaDoc标签如下图所示

3.常用的JavaDoc标签:

标签含义
@author作者名
@parameter参数及其意义
@return返回值
@version版本标识
@since最早使用该方法/接口的JDK版本
@throws异常类及抛出条件

三、带参数的方法

1.定义带参方法

1.带参方法的语法如下:

<访问修饰符> 返回值类型 <方法名> (<参数列表>){
    //方法的主体
}

注意事项:

​ (1)<访问修饰符>指该方法允许被访问的权限范围,只能是public、protectd或private。

​ (2)返回值类型指方法返回值的类型。如果方法不返回任何值,他应该声明为void类型。Java对待返回值的要求很严格,方法返回值必须与所说明的类型相匹配。使用return语句返回值。

​ (3)<方法名>是定义的方法和名字,它应该使用合法的标识符。

​ (4)<参数列表>是传送给方法的参数列表。列表中各参数间以逗号分隔。

2.形参与实参:

​ 在定义方法时把参数称为形参,在调用方法时把参数称为实参。

语法:

对象名.方法名(参数1,参数2,参数3,...,参数n)

2.深入理解带参方法

(1)数组作为参数的方法

例如:

public class TestDemo{   
    public static void main(String[] args) {       
        Demo st =new Demo();        
        int [] scores =new int[5];  //保存比赛成绩       
        Scanner input =new Scanner(System.in);        
        System.out.println("请输入五名参赛者的成绩:");        
        for (int i = 0; i < 5; i++) {            
            scores[i]=input.nextInt();   //传入实参       
        }        //输出平均成绩        
        double avgScore=st.calAvg(scores);   //调用方法并接收      
        System.out.println("平均成绩:"+avgScore); 
    }
}

(2)对象作为参数的方法

1.语法:

类名称 [ ]对象数组名= new 类名称[长度];

例如:

public class Student {
	int id;
	String name;
	int age;
	int score;
	public void showInfo() {
		System.out.println(id+"\t"+name+"\t"+age+"\t"+score);
	}
}
public class StudentsBiz3 {
	Student[] students = new Student[30];
	public void addStudent(Student stu) {
		for (int i = 0; i < students.length; i++) {
			if(students[i] == null) {
				students[i] = stu;
				break;
			}
		}
	}
	public void showStudents() {
		System.out.println("本班学生列表:");
		for (int i = 0; i < students.length; i++) {
			if(students[i] != null) {
				students[i].showInfo();
			}
		}
		System.out.println();
	}
}

3.包

1.为什么属于包

(1)包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类文件。

(2)防止类名冲突:Java中只有在不同包中的类才能重名。

(3)包允许在更广的范围内保护类、数据和方法,可以在包内定义类。根据规则,包外的代码有可能不能访问该类。

2.如何声明包

语法:

package 包名;

命名包的规范:

​ (1)Java包的名字通常由小写字母组成,不能以圆点开头或结尾。

​ (2)一个唯一包名的前缀通常是全部小写的ASCII字母,并且是一个顶级域名com、edu、gov、net或org。通常使用知足的网络域名的逆序。

​ (3)包名的后续部分依不同机构各自内部的规范不同而不同。

3.如何导入包

语法:

import java.util.*;
import 包名.类名;

四、字符串

1.如何使用字符串

1.使用字符串有以下两步骤

(1)定义并初始化字符串。

(2)使用字符串,对字符串进行一些处理。

语法:

String s = "Hello World";//创建对象
String s = new String();//创建一个空字符串

2.字符串的长度和比较

1.字符串长度的语法:

字符串1.length();

​ String类提供了length()方法。字符串是一串字符序列,String类的length()方法用来确定字符串的长度,即字符串中的字符数目。调用length()方法返回的结果就是字符串中的字符数。

例如:

if(pwd.length()>=6) {		//判断密码长度
	System.out.println("注册成功!");
} else {
	system.out.println("密码长度不能小于6位!");
}

2.字符串比较的语法:

字符串1.equals(字符串2);

在使用eruals()方法比较两个字符串时,它逐个对照组成两个字符串的每个字符是否相同。如果都相同,则返回true;否则返回false。对于字符的大小写,也在检查范围之内。

例如:

if(uname.equals("TOM") &&pwd.equals("1234567"){
	System.out.println("登陆成功!");
} else {
	System.out.println("用户名与密码不匹配,登录失败!");
}

3.复杂的字符串处理

1.字符串的连接

字符串1.concat(字符串2)

例如:

String s = new String("你好");
String name = new String("张三");
String sentence = s.concat(name);

2.字符串的提取和查询

常用提取和查询字符串的方法:

方法说明
Public int indexOf(int ch)Public int indexOf(String value)搜索第一个出现的字符或字符串
Public int lastindexOf(int ch)Public int lastindexOf(String value)搜索最后一个出现的字符或字符串
Public Sreing substring(int index)提取从位置索引开始的字符串部分
Public String substring(int beginindex,int endindex)提取beginindex和endindex之间的字符串部分
Public String trim()返回一个前后不含任何空格的调用字符串的副本

3.字符串的拆分

字符串1.split(String separator,int limit);

(1)separator可选项,标识拆分字符串时使用一个或多个字符。如果不选择该项,则返回包含该字符串所有单个字符的元素数组。

(2)limit可选项,该值用来限制返回数组中的元素个数。

例如:

String words = "长亭外 古道边 芳草碧连天 晚风扶 柳笛声残 夕阳山外山";
String[] printword = new String[100];
printword = words.split(" ");

4.StringBuffer类

1.如何使用StringBuffer类

​ (1)声明StringBuffer对象并初始化

//声明一个空的StringBuffer对象
StringBuffer sb1 = new StringBuffer();
//声明一个字符串"青春无悔"
StringBuffer sb2 = new StringBuffer("青春无悔");

​ (2)使用StringBuffer对象

StringBuffer类提供了很多方法以供使用,调用时使用"."操作符完成。

2.常用的StringBuffer类方法

1.语法:

(1)

字符串1.toString();

​ 该方法是将StringBuffer类型的字符串1转化为String类型的对象并返回。

例如:

String s1 = sb2.toString();

(2)

字符串1.append(字符串2);

​ 该方法为StringBuffer类的拼接,但是StringBuffer类的拼接可以将任何类型的值追加到字符串的后面,而String类只能追加String类型的。

例如:

StringBuffer sb1 = sb.append("我心永恒");
System.out.println(sb1);
StringBuffer sb2 = sb1.append('啊');
system.out.println(sb2);

(3)

字符串1.insert(位置,参数)

​ 将参数插入字符串1的指定位置(int 类型)后并返回。参数可以是包括String的任何类型。

例如:

Scanner in = new Scanner(System.in);
System.out.println("请输入一串数字:");
String nums = in.next();
StringBuffer str = new StringBuffer(nums);
for (int i = str.length()-3; i >0; i= i-3) {
	str.insert(i,',');
}

5.String类提供了大量的操作字符串的方法

String常用的如下:

(1)获得字符串长度:length()

(2)比较字符串:equals()

(3)连接字符串:concat()

(4)提取字符串:substring()

(5)搜索字符串:indexOf()

(6)拆分字符串:split()

StringBuffer常用的如下

(1)转换成String类型:toString()

(2)连接字符串:append()

(3)插入字符串:insert()

  • 4
    点赞
  • 0
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值