1.方法的应用
方法的四种创建方式及使用场合
2.数组的应用:一维数组和二维数组
元素,下标(索引号),元素赋值与取值,数组长度,最大行下表,最大列下标,遍历数组
3.数组工具Arrays使用
排序的用法,数组的扩容与缩容
1.面向对象
按Java的编程思想,将现实中的万物都比作为”对象“,也就是”万物皆对象“,然后将对象的特点引入到Java编程之中,因为”对象“更加贴近现实生活,方便了对编程的理解与实现。
2.对象的特点
对象:包含特征与行为,这些行为与特征能够很方便的表示出来,那么java程序也是如此。
3.java中的面向对象
Java中把要运行的程序代码封装到对象中,此对象包含有:属性(特征)与方法(动作,行为)
Java实现运行中用过调用属性或对象调用方法完成
Java完成功能,只需要创建好对象
说明:面向对象与面向过程对比
1.类与定义作用
类是一系列具有相同特征与行为的事物的集合,比如:人类,动物类,植物类,男人,女人,猫,狗等,类是单个事物(对象)的模板,用于生成单个事物(对象)
2.类class与对象object的关系
类是对象的集合,也是对象的模板,对象是类中的个体,也称为类的实例(instance),对象由对应的类来创建出来,俗称new对象
//创建一个字符串对象
例如:String str = new String(”李梅丽“)
说明:要创建对象,首先要创建类,再通过类创建对象,最后调用对象的属性与对象的方法,来完成程序功能。
3.常用的类
Student,Teacher,User,Role(角色),Employee(员工类),person(人类)
Product(产品类),Goods(商品类),Car(购物车),Bill/order(订单类),Address(地址),Comment(评论)
Animal(动物),Dog
指定类的名称 > 定义类中成员变量与成员方法 > 定义构造器
说明:以后在启动类中(有main方法类)中不要直接实现具体功能,应将功能封装到别的类中,启动类中创建其他类的对象,在调用对象的属性与方法来完成程序功能
案例解析
/**
* 定义Students类
* @public:类的访问控制符,公共类
* @class:表示之后Student是一个Java中的类
* @程序是一个一个类组成
*/
public class Student {
//1.声明成员变量(对象属性),都有默认值
String name;
//性别
String gender;
int age;
long mobile = 1387897879L;
//地址
String address = "金水区";
//2、声明成员方法
public String disp(){
return "姓名:" + name;
}
}
格式:类类型 对象名 = new 构造器();
调用对象的属性与方法:对象名 属性名 = new 对象名
/**
* @创建启动类YMain
* @所有的Java程序都要有一个启动类
*/
public class YMain {
//程序都是从main开始
public static void main(String[] args) {
//1.创建自定义的对象,实现程序具体功能
//格式:类名 对象名 new 构造方法(构造器);
//所有自定义类,如果没有显示的创建构造方法,则会有一个隐含的没有参数的构造方法
//构造方法俗称构造器,它是名称与类名相同的方法
//构造方法的作用:给成员变量重新赋值,用于创建对象(开辟内存空间)
//比如:Student();
Student xm = new Student();
//调用对象属性
xm.name="小明";
xm.gender="男";
xm.age=18;
xm.address="重庆";
//调用对象方法,输出此对象内容
String info = xm.disp();
//打印输出
System.out.println(info);
}
}
说明:
1.一般情况下Java对象需要new出来,也就是要创建出来方可使用
2.同一个类可以创造出不同的对象,对象与对象间互不干扰
所谓的构造器,指是名称与类名相同,没有返回值(不要用void)的特殊方法,又称为构造函数
作用:给成员变量再次赋值,用于创建对象(开辟存储空间)
所有自定义类,在默认情况下都有一个隐含无参构造器,类必须有构造器。
构造器可以是系统隐含的,也可以自定义。
案例解析:User类
`package constructor;
public class conmain {
public static void main(String[] args) {
//1.通过无参构造器创建对象
User user=new User();
System.out.println(user.username);
//2.通过有参构造器创建对象,同时给对象属性赋值
User us = new User("张","888","8987qq.com",12378934794L);
//输出对象的属性值
System.out.println("用户名: "+us.username);
}
}
提示
1,构造器用于创建对象,并可以给对象赋初值,构造器可以重载(参数个数不同的构造器)
2,一旦创建了有参构造器,则隐含的无参构造器自动消失,如果想要使用无参构造器,则需要显式的创建,建议创建出来
构造器的重载:一个类中有多个同名的构造器,但它们的参数不同,不同的构造器创建不同的对象,初始化不同的属性。
this:代表类中的当前对象,同时还可以区分成员变量名与构造方法中的参数名(局部变量)
成员变量:在类中的所有方法之外声明的变量,它可以被类中的所有方法调用
局部变量:在方法体中声明的变量,或方法中参数,只能所在方法中调用
案例解析:Gril类
package constructor;
/**
* 创建女生类
*/
public class Girl {
//声明成员变量
String name;
String like;
//创建无参构造器
public Girl(){}
//创建有参构造器
public Girl(String na,String li){
this.name = na;
this.like = li;
}
//再创建有参构造器
//this:代表当前类的当前对象
//当成员变量的名称与局部变量的名称相同时做区分用
public Girl(String na){
this.name =na;
}
}
测试类:GirlMain
package constructor;
public class GrilMain {
public static void main(String[] args) {
Girl g1= new Girl();
g1.name = "小美";
g1.like = "电影";
Girl g2 = new Girl("小丽","看书");
Girl g3 = new Girl("马冬梅");
System.out.println(g2.name);
}
}
方法的重载:方法名称相同,参数的个数不同或参数的类型不同
作用:简化程序,方便调用
案例解析:求各种不同图形的面积
package constructor;
/**
* @创建Cool类,实现方法重载,求各种图形的面积
* @一个完整的类:成员变量,成员方法,构造器组成
*/
public class Imgss {
//声明成员变量
String name;
public String getName() {
return name;
}
//自动生成有参构造器
public void setName(String name) {
this.name = name;
}
//声明重载方法,计算各种图形面积
//求矩形面积
public int area(int h,int w){
return h*w;
}
public double area(double r){
return r*r*3.14;
}
//求三角形的面积
public double area(double bottom,double height){
return bottom*height/2;
}
//求两个数的最大值
public int max(int a,int b){
if (a>b){
return a;
}else {
return b;
}
}
}
实体类是一种特殊形式的类
这个类中的成员变量都要私有,并且要对外提供相应的Get Set方法
类中必须要有一个公共的无参构造器,其他构造器可有可无
(实体类是用来保存数据的java类)