Why Java doesnot have Pointer ?

Asked by Last Modified  

19 Answers

Learn Java

Follow 0
Answer

Please enter your answer

Corporate trainer with 11 years of experience, Founder of Study9

The reasons are Pointers are fundamentally unsafe. Java has a robust security model and disallows pointer arithmetic.Java ensures pointer access via indexed array. A big advantage of Java's indexed array access is that it detects and disallows out of bounds array access, which can be a major source...
read more
The reasons are Pointers are fundamentally unsafe. Java has a robust security model and disallows pointer arithmetic.Java ensures pointer access via indexed array. A big advantage of Java's indexed array access is that it detects and disallows out of bounds array access, which can be a major source of bugs. Java has the concept of References to objects,but it just doesn't call them pointers. Any normal object reference works as one of these. When you do String s="Hello"; you get what is effectively a pointer to a string object. read less
Comments

Industry expert and professional lecturer/trainer

To avoid memory hacks and leaks it is an intentional decision taken by JAva Pioneers
Comments

Tutor - Maths and computer science

Because Java was built with safety in mind and pointers are a point of complexity(and thus failure) in a lot of programs if the developer is not careful. Java abstracts a number of things away from the developer to make things easier and safer for them, ie, garbage collection.
Comments

Expert Tutor

Java does not have pointers. This was an intentional decision by the creators of Java, because most people would agree that having pointers creates a lot of potential for bugs in the code -- pointers can be quite confusing, especially to new programmers. Because arrays and strings are provided as class...
read more
Java does not have pointers. This was an intentional decision by the creators of Java, because most people would agree that having pointers creates a lot of potential for bugs in the code – pointers can be quite confusing, especially to new programmers. Because arrays and strings are provided as class types in Java, there is no need for pointers to those constructs. By not allowing pointers, Java provides effectively provides another level of abstraction to the programmer. read less
Comments

Do remove the complexity in programming
Comments

MCA

1. References store an address. That address is the address in memory of the object. So, when a class is declared like so: "PersonClass y = new PersonClass();", the "y" variable actually stores an address in memory. If you were to look at that address in memory you would see the details of...
read more
1. References store an address. That address is the address in memory of the object. So, when a class is declared like so: "PersonClass y = new PersonClass();", the "y" variable actually stores an address in memory. If you were to look at that address in memory you would see the details of the PersonClass object. Pointers in C++, however, point directly to the object. 2. You can not perform arithmetic operations on references. So, adding 1 to a pointer is not possible, but is possible in C++. read less
Comments

Professional Java J2EE Training with certification focus or Maths/English Tuition

Java manages memory in a different way compared to C++. It has automatic memory management and garbage collector. So it does not have a pointer again to confuse programmer and rather ease programming.
Comments

AI & Data | Cyber | Data Analytics | BI | Programming

Having pointers creates a lot of changes for bugs in the code -- pointers can be quite confusing, especially to new programmers. By not allowing pointers, Java provides abstraction to the programmer. and also pointers in java are acheived thru reference variables in java whose References store an address...
read more
Having pointers creates a lot of changes for bugs in the code – pointers can be quite confusing, especially to new programmers. By not allowing pointers, Java provides abstraction to the programmer. and also pointers in java are acheived thru reference variables in java whose References store an address in memory where we can not perform any arithmetic operations on this reference variable(address) Animal a=new Animal(). a->Reference variable read less
Comments

Computer Engineer

Because Java does not provide direct memory manipulation rights to it's users. With help of pointers you are allowed to access memory directly which is not allowed in Java. That's why Java does not have any pointers. Java provides special classes to interact with system hardware.
Comments

IT Professional Trainer with 15 years of experience in IT Industry

To reference objects in java you use references. In other languages like C/C++ you use pointers. Pointers and references are used to point to objects in a program. In C/C++ you declare a pointer to point to a object or data type. Once you are done and no longer require the datatype or object, you...
read more
To reference objects in java you use references. In other languages like C/C++ you use pointers. Pointers and references are used to point to objects in a program. In C/C++ you declare a pointer to point to a object or data type. Once you are done and no longer require the datatype or object, you must release the pointer, otherwise it is pointing to something that no longer exists. This can occur during pointer arithmetic, or just forgetting to deallocate the pointer to null. This causes problems for memory management, and is more dangerous during run-time which can cause the program to crash; sometimes this can go undetected at compile time. Sun microsystems created and enforced references to make "pointing" safer to use in collaboration with the garbage collector memory manager that runs in the Java Virtual Machine. You do not have to explicitly declare or release objects, even if you made the error of forgetting to in your code, it is handled by the garbage collector. A reference can never point to nothing, it is either null or points to an object. The garbage collector, manages the allocation and release of memory and makes sure there is no referencless objects. This makes it safer. read less
Comments

View 17 more Answers

Related Questions

public class X { public static void main(String [] args) { X x = new X(); X x2 = m1(x); /* Line 6 */ X x4 = new X(); x2 = x4; /* Line 8 */ doComplexStuff(); } static X m1(X mx) { mx = new X(); return mx; } } After line 8 runs. how many objects are eligible for garbage collection?
Only one. After line 8 the original object referred to by x2 is dereferenced and ready for garbage collection. In m1(), mx ignores the object passed as argument and refers to a new object which is returned.
Srikanth
Which is best to build web applications: PHP, Python, or Ruby? Why?
I have used almost all of the three language in my web working experience.PHP:It may be not that cool and I think it doesn't rely too much on the framework. Yes, PHP is just a language, but it is the only...
Sunil
0 0
7
How to stop session hijacking programmatically ?
HTTP is a stateless protocol. In order to track users, web applications rely on server side sessions. Two basic ways to link clients(usually browsers) to sessions are through URL rewriting and HTTP cookie....
Mnaohar S
Can we print any string in Java without a semicolon?
Yes We can print a string with out semicolon in if statement. public class Print_Without_Semicolon { public static void main(String args) { int i = 0; if(System.out.printf("print...
Sridevi
0 0
6

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

2.1. Reverse a singly linked list.
class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; }} public class LinkedList { Node head; public void reverse() { Node prev = null; Node curr = head; Node next =...

Big Data Hadoop Training
What is Big Data? Big data means really a big data, it is a collection of large datasets that cannot be processed using traditional computing techniques. Big data is not merely a data, rather it has become...

1.1. Reverse an array in Java.
public class Main { public static void main(String args) { int arr = {1, 2, 3, 4, 5}; for (int i = 0; i < arr.length / 2; i++) { int temp = arr; arr = arr; arr = temp; } System.out.println(Arrays.toString(arr)); }}

Spring - Dependency Injection (DI)
Spring - Dependency Injection (DI) DI is a framework which provides loose coupling in code. Here loose coupling means no hard coding of the object. Instead of hard coding, we will be injecting these object...

What Is Applet & Its Life Cycle?
What is Applet & its life cycle?Applet is a Java programme that can be embedded into HTML page.Java Applet runs on the java enables web browsers such as Mozilla & Internet Explorer.Applets are...
I

Icreative Solution

0 0
0

Recommended Articles

Designed in a flexible and user-friendly demeanor, Java is the most commonly used programming language for the creation of web applications and platform. It allows developers to “write once, run anywhere” (WORA). It is general-purpose, a high-level programming language developed by Sun Microsystem. Initially known as an...

Read full article >

In the domain of Information Technology, there is always a lot to learn and implement. However, some technologies have a relatively higher demand than the rest of the others. So here are some popular IT courses for the present and upcoming future: Cloud Computing Cloud Computing is a computing technique which is used...

Read full article >

Java is the most famous programming language till date. 20 years is a big time for any programming language to survive and gain strength. Java has been proved to be one of the most reliable programming languages for networked computers. source:techcentral.com Java was developed to pertain over the Internet. Over...

Read full article >

Java is the most commonly used popular programming language for the creation of web applications and platform today. Integrated Cloud Applications and Platform Services Oracle says, “Java developers worldwide has over 9 million and runs approximately 3 billion mobile phones”.  Right from its first implication as java 1.0...

Read full article >

Looking for Java Training Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you