Java基础之面向对象基础

时间:2023-02-15 14:42:38

第1节 面向对象思想

面向对象是以现实生活中客观存在的事物(即对象)来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,
强调直接以事物对象为中心来思考,分析问题,并根据事物的本质特征将其抽象为系统中的对象,作为系统的基本构成单位。

第2节 类与对象

类是一种复杂的数据类型
对象时这种数据类型的实例
类是对象共同属性和行为的抽象集合,即模板

创建一个Person类
package com.lee.dms.test;

public class Person {
private String name;
private int age;
private String address;

public Person(String name, int age, String address) {
super();
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}

}

第3节 方法

方法:一句或者多句代码完成一个特定的功能,为这个功能起一个名字,将来通过名称的调用具体功能,而不用再写具体代码。

方法的参数传递机制
值传递:
public static void swap(int a,int b){
int temp;
temp =a;
a=b;
b=temp;
}
引用传递:
class Pro
{
public static void Main(string[] args)
{
int a = 1;
Person p=new Person{Age=20};
//通过ref关键字,对值类型变量a进行引用传递
Test(ref a,p);
Console.WriteLine(a);
Console.WriteLine(p.Age);

Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}

//引用传递
static void Test(ref int a,Person p)
{
a++;
p.Age++;
}

}
class Person
{
public int Age{get;set;}
}

构造方法
构造方法(也称构造函数)是类的一个特殊方法,用于创建对象时初始化对象中的属性值
构造方法的方法名必须与类名一致,且没有返回类型,也没有void
public Person(String name, int age, String address) {
super();
this.name = name;
this.age = age;
this.address = address;
}
一旦创建了自己的构造方法,缺省的构造方法将不复存在。

方法重载
在Java程序中,如果同一个类中包含了两个或两个以上方法的方法名相同,但参数列表不同,则被称为方法重载
三个原则:
在同一个类中;
方法名相同;
参数列表不同,即参数的个数,或对应位置上的类型不同。
可变参数(可传入多个参数)
public int add(int a,int...b){
int sum=a;
for(int i=0,i<b.length;i++){
sum +=b[i];

第4节 封装和访问控制

包:
1.Java引入包的机制,提供了类的多层命名空间,解决类的命名冲突,类文件管理等问题
2.借助于包可以将自己定义的类与其他类库中的类分开管理
访问控制符:
private:被声明为private的成员只能被当前类中的其他成员访问,不能在类外看到
缺省:如果一个类或类的成员前没有任何访问控制符,则获得缺省的访问权限,缺省的可以被同一包中的所有类访问;
protected:被声明为protected的成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问;
public:被声明为public的成员可被同一包或不同包访问

第5节 静态成员

1.Java中可以使用static关键字修饰类的成员变量和方法,这些被static关键字修饰的成员也称静态成员
2.静态成员的限制级别是"类相关"的
3.与类相关的静态成员称为类变量或类方法