java 是一种面向对象的语言,拥有下面这些特性:
多态
继承
封装
抽象化
类
对象
实例
方法
消息解析
----------------
对象
简单比喻就是一只猫,有名字,性别,会的技能有撒娇,吃饭。。。
对象就是指拥有状态和行为的事物
类
对象就是从类从被创造的
public class cat{
String color;
int age;
String name;
void crew(){
xxxxx
}
void eat(){
xxxxx
}
}
一个类里面可以包含一切变量类型
本地变量:变量被定义在方法,构造函数或块中的变量,该变量会被声明和初始化在方法中,当方法完成的时候该变量就会被销毁
实例变量 实例变量是在类里面的变量但是在方法外面的,这些变量会被初始化当类会实例化的时候,实例变量可以被该类里面的一切方法,构造函数或则块访问
类变量 类变量是声明在一个类里面,在方法外面,并带有static关键词的一些变量
一个类中,可以有很多方法来访问各种方法的值
构造函数
每个类都有一个构造函数,如果我们没有明确的写一个构造函数,Java编译器会为这个类创建一个构造函数
每次当一个新对象产生,至少一个构造函数会被调用,构造函数的主要规则是他们应该有相同的名和类名一样,一个类可以有大于一个构造函数
public class Puppy(){
public Puppy(){//构造函数要和类名一样啊
xxxxx
}
}
public calss Puppy(){
public Puppy(String name){//多了一个参数name
xxxxx
}
}
创建一个对象
1.声明---一个变量声明需要有变量类型和变量名
2.实例化----使用new 关键字创造对象
3.初始化---new关键字紧跟着一个构造函数
public class createObject{
public createObject(String name){ //注意构造函数方法名和类名一致
System.out.println("hello"+name);
}
public static void main(String[] args) {
createObject myPuppy = new createObject("blue");
}
}
访问实例变量和方法
实例化
ObjectReference = new Constructor();
访问变量
ObjectReference .VariableName
访问方法
ObjectReference.MethodName()
demo:
public class AccessVariableMethod{
int catAge;
public AccessVariableMethod(String name){ //构造函数,注意不能写了void
System.out.println("hello "+name);
}
public void setAge(int age){
catAge = age;
}
public int getAge(){ //注意写的是int,要对应返回的数据类型
return catAge;
}
public static void main(String[] args) {
AccessVariableMethod cat = new AccessVariableMethod("blue");
cat.setAge(6);
cat.getAge();
System.out.println(cat.catAge);
}
}
源文件的声明规则
1.在一个源文件中只有一个public类,可以有多个非public类
2.public类名应该和文件名要一样,并且后缀名为.java public class Employee{} Employee.java
3.如果一个类名定义在一个包package中那么package语句中的源文件应该出现在第一句语句中
- 如果导入语句存在,他们应该被写在包声明和类声明之间,如果没有包声明,导入语句应该在源文件第一句
5.导入和包声明意味着所有的类将出现在源文件中,不可以声明不同导入或则包声明在不同的类中
---------------------
Java 包
简单来说就是 ,分类了类和接口,当开发在Java中,几百个类或则接口将被编写,因此存在包中容易管理
--------------------
导入声明
如果名字规范,Java会容易找到对应的源代码和类
例如:导入Java可用的所有类
import java.io.*
Employee.java
import java.io.*;
public class Employee {
String name;
int age;
String designation;
double salary;
// This is the constructor of the class Employee
public Employee(String name) {
this.name = name;
}
// Assign the age of the Employee to the variable age.
public void empAge(int empAge) {
age = empAge;
}
/* Assign the designation to the variable designation.*/
public void empDesignation(String empDesig) {
designation = empDesig;
}
/* Assign the salary to the variable salary.*/
public void empSalary(double empSalary) {
salary = empSalary;
}
/* Print the Employee details */
public void printEmployee() {
System.out.println("Name:"+ name );
System.out.println("Age:" + age );
System.out.println("Designation:" + designation );
System.out.println("Salary:" + salary);
}
}
EmployeeTest.java
import java.io.*;
public class EmployeeTest {
public static void main(String args[]) {
/* Create two objects using constructor */
Employee empOne = new Employee("James Smith");
Employee empTwo = new Employee("Mary Anne");
// Invoking methods for each object created
empOne.empAge(26);
empOne.empDesignation("Senior Software Engineer");
empOne.empSalary(1000);
empOne.printEmployee();
empTwo.empAge(21);
empTwo.empDesignation("Software Engineer");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}