面向对象
1.面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节,
2.面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。
3.面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
4.面向对象的语言中,包含了三大基本特征,即封装、继承和多态。
import java.util.Arrays;
//打印数组
//结果:[1,2,3,4,5]
public class demo03_Object {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
//面向对象编程
System.out.print("[");
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
System.out.print(array[i] + "]");
break;
}
System.out.print(array[i] + ", ");
}
System.out.println();
//面向对象编程
System.out.println(Arrays.toString(array));
}
}
类and对象
- 类是对一类事物的描述,是抽象的。
- 对象是一类事物的实例,是具体的。
- 类是对象的模板,对象是类的实体。
类的定义
成员变量是直接定义在类当中的,在方法外边。成员方法不要写static关键字。
对象的创建
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
1.导包,也就是指出需要使用的类,在什么位置。
import 包名称.类名称:06.demoo1.Student
对于和当前类属于同一个包的情况,可以省略导包语句不写。
2.创建,格式:
类名称对象名=new类名称();
stu new Student();
3.使用,分为两种情况
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
(也就是,想用谁,就用对象名点儿谁。)
具体实现
package com.wx.demo03;
/*
属性:品牌,价格,颜色
行为:打电话,发短信
*/
public class Phone {
String brand;
double price;
String color;
public void call (){
System.out.println("打电话");
}
public void sen (){
System.out.println("发短信");
}
}
package com.wx.demo03;
public class demo03_Phone {
public static void main(String[] args) {
Phone one =new Phone();
System.out.println(one.brand);
System.out.println(one.color);
System.out.println(one.price);
System.out.println("*******************");
one.brand="华为";
one.price=3000;
one.color="白色";
System.out.println(one.brand);
System.out.println(one.color);
System.out.println(one.price);
one.call();
one.sen();
}
}
封装
/*
禁性在Java当中的体现:
方法就是一种封装
private 一种封装
*/
public class demo04_encapsulation {
public static void main(String[] args) {
int [] a = {5,2,1,4,8,6};
System.out.println("最大值"+max(a));
}
//方法封装
public static int max(int[] a){
int max =a[1];
for (int i = 0; i <a.length ; i++) {
if (a[i]>max){
max = a[i];
}
}
return max;
}
}
class a{
private String name ;
private int age;
private void show(){
System.out.println(age+name);
}
//成员方法 专门赋值,取
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;
}
}
this关键字
public class demo04_this {
public static void main(String[] args) {
text t =new text();
t.s("456");
}
}
class text{
String name ="123" ;
void s(String name){
System.out.println(this.name+"名字是"+name);
}
}
结果:
123名字是456
构造函数
/*
1.性物播方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2.构造方法不要写返回值类型,连void都不写
3.构造方法不能return一个具体的返回值
如果没有编写任何构造方法,那么编译器将会默
认赠送一个构造方法,没有参数、方法体什么事情都不做。
4.一旦编写了至少一构造方法,那么编译器将不再赠送。
*/
public class demo04_structure {
public static void main(String[] args) {
Text t = new Text();
Text t1 = new Text("123");
System.out.println(t1.getName());
}
}
class Text {
private String name ;
//无参构造
public Text() {
System.out.println("无参构建函数!!!!");
}
//有参
public Text(String name) {
this.name = name;
System.out.println("有参构建函数!!!!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
无参构建函数!!!!
有参构建函数!!!!
123
标准类:standard
- 一个标准的类通常要拥有下面四个组成部分:
- 所有的成员变量都要使用private关键字修饰
- 为每一个成员变量编写一对儿Getter/Setter方法
- 一个无参数的构造方法
- 一个有全部参数的构造方法
public class demo04_Standard {
private String name;
private int age;
public demo04_Standard() {
}
public demo04_Standard(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
Scanner类
1.Scanner类的功能:可以实现键盘输入数据,到程序当中。
引用类型的一般使用步骤:
import包路径.类名称
扣果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.Lang包下的内容不需要导包,其他的包都需要import语句。
2.创建
类名:对象名=new类名称();
3.使用
对象名,成员方法名()
废取健盘输入的一个int数字:int num=sc.nextInt();
庆取键盘输入的一个字符串:String str=sc.next();