Java基础总结2

面向对象

面向过程:
所有事都自己做
如:做饭,自己先买菜,自己做配料,自己炒菜,自己刷锅,端上桌子,开吃
面向对象:
把事情交给对象去做
如:自己交给对象去做,自己找一个厨子做,也可以点一个外卖,自己就直接等着吃,不用自己亲自做

类与对象


模板,一类事物。静态的是属性,动态的是方法。
比如:学生、姓名、年龄是属性(名词)
学习、吃饭、睡觉是方法(动词)
对象
类的具体实现
比如:name=张三

//学生类 Student
public class Student{
	String name;
	int age;
	public void study(){
		System.out.println("学生学习");
	}
	public void sleep(){
		System.out.println("学生睡觉");
	}
}

创建对象

格式
类名 对象名 = new 类名();
调用属性
对象.属性名 = 值;
调用方法
对象.方法名(参数);
输出对象
打印的是地址值
具体举例

public class Student{
	String name;
	int age;
	public void study(){
		System.out.println("学生学习");
	}
	public void sleep(){
		System.out.println("学生睡觉");
	}
}
//主函数,方法入口
public class Demo {
	public static void main(String[] args){
	//创建对象,调用属性和方法
	//类名 对象名 = new 类名()
	Student s1= new Student();
		s1.name="张三";
		s1.age= 20;
		//调用属性
		System.out.println(s1.name);//打印张三
		System.out.println(s1.age);//打印20
		//println与print区别:println打印后自动换行;print不换行
		//调用方法
		s1.study();//打印学生学习
		s1.sleep()//打印学生睡觉
		System.out.println(s1);//打印对象,是一个地址值:Student@6d06d9c
			}

}

Java 构造方法

作用
1.创建对象 或 初始化对象
2.给成员变量赋值
3.如果不写任何构造方法,Java会提供一个空参构造,如果写了任意构造,就不再提供空参构造
4.方法名与类名相同,没有返回值
格式

public 类名(){
	//无参构造
}
public 类名(String name,int age){
	//有参构造
	this.name=name;
	this.age=age;
}

构造方法具体实例

public class Student{
	String name;
	int age;
	public Student(){
		//无参构造
	}
	public Student(String n,int a){
		//有参构造
		name=n;//n赋值给neme
		age=a;
	}
}

public class Demo2 {
	public static void main(String[] args){
		//构造方法
		//空参构造
		Student s1= new Student();
		//有参构造
		Student s2= new Student("李四"16);
			System.out.println(s1.name +"==="+s1.age);//打印null===0,是一个默认值
			System.out.println(s2.name +"==="+s2.age);//打印李四===16

			}
}

关键字this

public class Student{
	String name;
	int age;
	public Student(){
		//
	}
	//public Student(String n,int a){
		//
		//name=n;//
		//age=a;
	}
	//就近原则,找neme,先在自己方法里找,找不到再到类里找,最近是找到括号里参数neme,可以用this关键字解决就近原则,带来的对象混乱
	public Student(String name,int age){
		//this关键字,代表的是自己本类对象;那么他调用的就是成员属性
		//this代表对象。this点,代表成员属性
		this.name=name;//这里name不知道是哪个neme有点乱,用this关键字就清楚了
		this.age=age;
	}
}

public class Demo3 {
	public static void main(String[] args){
		//this关键字
		//Student s1= new Student();
		Student s= new Student("李四"16);
			System.out.println(s1.name +"==="+s1.age);//如果上面Student类里没用this关键字,有参数也打印null===0,
			System.out.println(s1.name +"==="+s1.age);//如果Student类里用this关键字,有参数打印打印李四===16,
			}
}

Java基础 static 关键字

作用:
无需new创建对应,就可以直接用类名点方法名或属性名(变量名)进行调用
static 关键字可以直接使用在方法名前或变量名前
特点:
静态只能直接访问静态:静态方法就是带static关键字的方法

//类 class teacher
public class teacher{
	//static 关键字可以直接使用在方法名前或变量名前
	String name;
	static int age;//这里属性名(变量名)带static
	public void eat(){//这里方法不带static
		System.out.println("老师吃饭");
	}
	public static void sleep(){//这里方法带static
		System.out.println("老师睡觉");
	}
}
//再写一个类Demo 调用类Teacher
//类Demo
public class Demo {
	public static void main(String[] args){
		Teacher.age= 30;
		//Teacher.name= "王五";//这里就不可以直接调用Teacher.name,因为Teacer类里name变量名前 没放 static
		Teacher.sleep();//这里打印:老师睡觉
		System.out.println(Teacher.age);//这里打印30
		System.out.println(Teacher.name);//这里直接调用name会报错
		//如果这里非要调用Teacher.name怎么办?那就要new一个对象
		Teacher tescher= new Teacher();
		tescher.nane="李晓东"
		tescher.eat()//调用eat方法,打印老师吃饭
		System.out.println(Teacher.name);//打印李晓东
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值