栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 学习笔记day

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 学习笔记day

初识面相对象

类和对象_

类 :类是对一群具有共同属性和行为事物的抽象(抽象)
对象:真实客观存在的事物(具体存在的,看得见摸得着)

对象和类的关系_

类是对象的抽象对象是类的实体

类的定义_

	public class 类名(){
	// 成员变量
	int a;
	// 成员方法 (无参无反回值)
	public void 方法名(){
		// 语句体
	}
}

对象的使用_

	
	// 创建对象
	类名 对象名 = new 类名();
	//使用对象访问成员变量
	对象名.成员变量名
	//使用对象访问成员方法
	对象名.成员方法名();
	

示例:

	public class Demo{
	
		int age;
		String name;
	
		public void show(){
			System.out.println("姓名:" + name + ", 年龄:" + age);
		}
}


-----------------------------------------------------------------------------------------------------------


	public class testDemo {
	    public static void main(String[] args) {
	   		// 创建对象
	   		Demo p = new Demo();
			
			// 使用成员变量
			System.out.println(p.name);// 输出 null
       	 	System.out.println(p.age);// 输出 0
			
			// 给成员变量赋值
			p.name = "张三";
			p.age = 66;
			
			System.out.println(p.name);// 输出 张三
       	 	System.out.println(p.age);// 输出 66

			// 使用成员方法	
			p.show(); // 输出 姓名:张三, 年龄:66
	    }


}

成员变量和局部变量的区别_

    定义位置不同:成员变量定义在类中,方法外,局部变量定义在方法中或者方法声明上内存中位置不同: 成员变量在堆区,局部变量在栈区生命周期不同:

成员变量是随着对象的创建和存在,随着对象的销毁而销毁局部变量是随着方法的调用而存在,随着方法的弹栈而销毁

private关键字_

private是一个权限修饰符,但是它的权限是最小的

private可以修饰成员变量和成员方法

修饰成员变量: private 数据类型 变量名;修饰成员方法: private 返回值类型 方法名(形参){ 方法体 }被private修饰的成员只能在本类中使用,这样就可以保护本类的成员不被其他类访问

被private关键字修饰过后的成员变量或是方法,都只能在当前类中使用

要想访问被private关键字修饰过后的成员变量或是方法可以通过方法来进行参数传递

示例2:

	public class Demo2{

		private String name;
		private int age;
	
		// 定义get 和 set 方法
		public void setName(String name){
			name = name1;// 把传进来的值赋给name
		}
		
		public void setAge(int age){
			age = age1; // 把传进来的值赋给age
		}
		
		public String getName(){
			return name; 返回 name的值
		}
		
		public int getAge(){
			return age; // 返回 age的值
		}

		// 被private 修饰的成员方法
		public void show(){
			sheep();// 在Demo2类中调用被 private 关键字修饰过的sheep()方法
		}
		private void sheep(){
			System.out.println("睡觉中勿打扰...");
		}
		
}


-----------------------------------------------------------------------------------------------------------



	public class testDemo2 {
	    public static void main(String[] args) {
	   		// 创建对象
	   		Demo2 p2 = new Demo2();
			
			// 给成员变量赋值
			p2.setName("老六");
			p2.setAge(88);
			
       	 	// 获取成员变量
       	 	System.out.println(p2.getName);// 输出 老六
       	 	System.out.println(p2.getAge);// 输出 88
			
			// 访问变修饰了private 关键字的sheep()方法
			p2.show(); // 输出 睡觉中勿打扰...
	    }
}

this关键字_

作用:使用this可以区分同名的成员变量和局部变量
格式:this.成员变量名

    如果方法中有局部变量和成员变量同名,那么带this的就是成员变量,不带this就是局部变量如果方法中没有局部变量和成员变量同名,那么带不带this都是成员变量this表示谁: 哪个对象调用this所在的方法,this就表示哪个对象(重要)
	public class Demo3{

		private String name;
		private int age;
	
		public void setName(name){
			this.name = name; // 用this成员变量的方式访问的是成员变量 不带this的就是局部变量
		}
		
		public void setAge(){
			age = age;// 没有使用this关键字age 就等于age它本身
		}
		
		public void show(){
			System.out.println("setName =" + name + ", setAge =" + age);
		}
		
}
	


-----------------------------------------------------------------------------------------------------------



public class testDemo3 {
	    public static void main(String[] args) {
	   		// 创建对象
	   		Demo3 p3 = new Demo3();
			
			// 给成员变量赋值
			p3.setName("王五");
			p3.setAge(77);
			
			// 打印 age,name 的值
       	 	p3.show(); // 输出 setName =王五, setAge =0
			
			
	    }
}

构造方法_

构造方法是一种比较特殊的方法,用来创建对象的,并给对象属性赋初始化值的

定义构造方法:

	// 空参构造方法
	修饰符 构造方法名(){
    
	}
	// 有参构造方法
	修饰符 构造方法名(形参){
	    //使用形参给成员变量赋值
	}
	
    修饰符一般使用public构造方法名只能是类名构造方法没有返回值,连void 都没有
	public class Demo4{
	
		private String name;
		private int age;
		
		// 空参构造方法
		public Demo4(){
			System.out.println("空参构造");
		}
		
		//有参构造方法
		public Demo4(String name,int age){
			System.out.println("有参构造");
			this.name = name;
			this.age = age;
		}
	}
	

-----------------------------------------------------------------------------------------------------------

	
	public class testDemo4 {
		    public static void main(String[] args) {
		    	// 创建Demo4 对象
		    	Demo4 = p4 = new Demo4(); // 输出 空参构造
				
				Demo4 = p4_1 = new Demo4("AAA",67); // 输出 有参构造
		    }
		    
	}

	

如果一个类没有定义构造方法,那么系统会自动给出一个空参构造方法如果一个类中定义了构造方法,那么系统就不会自动给出一个空参构造方法,所以如果想要空参构造方法,就得自己手动定义了构造方法是可以重载的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号